【发布时间】:2014-07-18 17:35:14
【问题描述】:
我们有一个运行 Gunicorn 的 Django 应用程序,该应用程序与部署在 Heroku 上的同步工作者一起运行。我们的请求响应时间显示了几个达到 30 秒(然后死掉)的请求,这是默认的 Gunicorn 超时。
记录这些请求并分析超时的最佳方法是什么? Gunicorn 似乎没有提供捕捉这些超时的钩子,至少不是很明显。
【问题讨论】:
-
30 秒是 HEROKU 超时,您可能会看到 Heroku 终止连接时会发生什么,与任何 Gunicorn 超时不同。我认为 Gunicorn 有自己的超时系统;您是否尝试过将 Gunicorn 中的超时设置为低于 Heroku 的超时,并查看这是否会比 Heroku 杀死的更好地显示在日志/指标中?
-
@AndrewGorcester 这也是 gunicorn 默认值 docs.gunicorn.org/en/18.0/configure.html#timeout 虽然我同意将其设置为低于 30 秒可能是一个很好的测试。