【发布时间】:2020-06-08 00:48:45
【问题描述】:
我正在使用docker-container 结合 Nginx 运行 UWSGI。在大约 16 小时的正常运行时间后,UWSGI 服务器的响应时间突然飙升,我收到 504 网关超时。 Nginx 提供的所有页面和文件仍然可以访问。到目前为止,我解决此问题的所有尝试均未成功。除了由于代码运行时而导致超时的人之外,我没有在网上找到任何东西。这个项目似乎并非如此,因为 Graylog 告诉我,我的方法运行时间
【问题讨论】:
我正在使用docker-container 结合 Nginx 运行 UWSGI。在大约 16 小时的正常运行时间后,UWSGI 服务器的响应时间突然飙升,我收到 504 网关超时。 Nginx 提供的所有页面和文件仍然可以访问。到目前为止,我解决此问题的所有尝试均未成功。除了由于代码运行时而导致超时的人之外,我没有在网上找到任何东西。这个项目似乎并非如此,因为 Graylog 告诉我,我的方法运行时间
【问题讨论】:
事实证明 psycopg2 在某些情况下存在内存泄漏(至少这是我们怀疑的)。添加分析器后,我们发现 psycopg2 cursor.execute 方法在正常运行一段时间后需要超过 50 秒才能完成。一些研究使我们发现了一些内存泄漏问题,每当初始化游标时没有名称时似乎就会发生这种问题。遗憾的是,由于我们使用的提交模式,我们不能只为光标指定一个名称。我们通过放弃连接池并手动处理连接刷新来解决该问题,这样内存泄漏问题就不会成为问题,因为连接打开的时间不够长...
【讨论】: