UWSGI响应时间导致504网关超时

UWSGI response time causing 504 Gateway timeout

我正在 运行使用此 docker-container 将 UWSGI 与 Nginx 结合使用。在大约 16 小时的正常运行时间后,UWSGI 服务器的响应时间突然猛增,我收到 504 网关超时。 Nginx 提供的所有页面和文件仍然可以访问。到目前为止,我所有修复此问题的尝试均未成功。我没有在网上找到任何东西,除了有人因为他们的代码 运行time 而超时。这个项目似乎不是这种情况,因为 Graylog 告诉我我的方法需要 < 100 毫秒才能完成 运行。然而,uwsgi 在调用我的方法之前或之后似乎正在做一些非常耗时的事情。有没有人遇到过这种问题?

Code

事实证明,psycopg2 在某些情况下存在内存泄漏(至少我们是这样怀疑的)。添加分析器后,我们发现 psycopg2 cursor.execute 方法在正常运行一段时间后需要 > 50 秒才能完成。一些研究使我们发现了一些内存泄漏问题,只要在没有名称的情况下初始化游标,该问题似乎就会发生。遗憾的是,由于我们使用的提交模式,我们不能只为我们的游标分配一个名称。我们通过放弃连接池并手动处理连接刷新来解决该问题,这样内存泄漏问题就不会成为问题,因为连接打开的时间不够长...