【发布时间】:2013-03-16 13:24:15
【问题描述】:
我目前正在尝试了解为什么我的 Python Heroku 应用程序中的某些请求需要超过 30 秒。甚至是完全没有任何作用的简单请求。
我做过的一件事是查看我的测功机上的平均负载。我做了三件事:
1) 查看 Heroku 日志。偶尔,它会打印负载。以下是示例:
Mar 16 11:44:50 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 heroku[web.2] Dyno load average (1m): 11.900
Mar 16 11:45:11 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 heroku[web.2] Dyno load average (1m): 8.386
Mar 16 11:45:32 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 heroku[web.2] Dyno load average (1m): 6.798
Mar 16 11:45:53 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 heroku[web.2] Dyno load average (1m): 8.031
2) 多次运行“heroku run uptime”,每次运行不同的机器(通过运行“主机名”验证)。这是刚刚的示例输出:
13:22:09 up 3 days, 13:57, 0 users, load average: 15.33, 20.55, 22.51
3) 通过使用 psutil 将指标发送到石墨来测量我的 dynos 所在机器上的平均负载。这些图表确认了 5 到 20 之间的任何数字。
我不确定这是否解释了需要很长时间的简单请求,但谁能说出为什么 Heroku 上的负载平均数如此之高?
【问题讨论】: