繁体   English   中英

与端点通信的网络错误。 限制 CPU 使用率

[英]Network error communicating with endpoint. Limiting CPU usage

我有一个在 EC2 AWS 实例上运行的 FastAPI。 我的端点运行良好,但我在处理一个端点同时运行的请求时遇到了问题。

这个端点大约需要 10 秒才能完成,并且会使用大量 CPU(它与神经网络进程有关)。 我最多同时对这个端点进行了 5 次调用,没有出现任何错误,所有任务都在 10 秒左右完成。 但是,如果我 go 为第六,系统开始失败。 我开始获得两个错误:

“与端点通信的网络错误”

“端点请求超时”

然后,EC2 实例甚至无法通过 ssh 访问,尽管它在 EC2 面板中表示它是“可用的”。 关于如何解决这个问题的任何想法? 也许 API 将 CPU 功率限制为 90%?

为了与此 EC2 实例通信,我通过 API 网关发送信息。 没有比我更多的连接,因为我是唯一访问它的人。

注意:如果我执行 top,我会看到 5 次调用时 CPU 使用率约为 380%(它有 4 个 cpu),但 ram 上升到 83%。 我想这是我的 RAM 使用问题?

谢谢你的意见。 我发现我在 torch 上使用的模型在 memory 中保存了梯度,所以我不得不运行它:

 with torch.no_grad():

如果您有兴趣,可以按照https://stackoverflow.com/a/41125461/1200914了解并限制 python 应用程序的 RAM。 您还可以使用https://stackoverflow.com/a/24455637/1200914查看变量的大小。 但是,我只能注意到第一个链接泄漏了 memory。

一旦 RAM 稳定下来,我就无法得到更多这些错误,尽管现在是时候由于 CPU 工作负载而创建一个队列了……

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM