我们对此感到困惑,试图解决它一个月。看起来每隔一段时间(可能是100个请求中的一个)我们与RDS或RabbitMQ的连接时间> 0.5秒。
我们正在使用Heroku与Django,亚马逊RDS和S3(我们做了大量的图片上传)。
这是一个慢速连接示例(快速连接非常快,例如< 20 ms):
http://f.cl.ly/items/1G2L252R1a3j2U2o3w2X/Screen%20Shot%202013-06-18%20at%2012.44.13%20PM.png
值得一提的是Heroku和RDS都位于美国东部地区。此外,当我们使用Redis Cloud(Heroku附加组件)时,我们也看到连接速度很慢。
更新
我还发现Memcached存在这些相同的延迟。事实上,平均而言Memcached与数据库的请求大致相同。我只是使用Memcached存储API密钥,剩下大量内存。
http://f.cl.ly/items/3u0I0w1d3h0M1E410U2h/Screen%20Shot%202013-06-24%20at%207.37.43%20PM.png
答案 0 :(得分:1)
它类似于我之前在博客上看到的内容,似乎在Heroku上,请求可能被路由到处理长时间运行请求的dyno。这样旧的请求就会阻止下一个请求的执行。路由并不像宣传的那样“智能”。
我不是100%确定这是您遇到的问题,因为看起来缓慢不应该在连接中,而是处理对Heroku的请求。
您可以在此处找到有关此问题的更多详细信息:http://news.rapgenius.com/James-somers-herokus-ugly-secret-lyrics