我们被这个难住了,试图解决它一个月了。看起来每隔一段时间(可能是 100 个请求中就有一个)我们与 RDS 或 RabbitMQ 的连接时间需要 > 0.5 秒。
我们将 Heroku 与 Django、亚马逊 RDS 和 S3 一起使用(我们上传了大量图片)。
这是一个示例慢速连接(快速连接非常快,例如 < 20 毫秒):
值得一提的是 Heroku 和 RDS 都在美国东部地区。此外,当我们使用 Redis Cloud(Heroku 附加组件)时,我们也会看到连接速度很慢。
更新:
我还发现 Memcached 也存在同样的延迟。事实上,平均而言,Memcached 与对数据库的请求大致相同。我只是使用 Memcached 来存储 API key ,而且还有很多内存。
最佳答案
它类似于我之前在博客上读到的内容,其中似乎在 Heroku 上,请求可能会路由到处理长时间运行请求的 dyno。这样旧的请求就会阻止下一个请求的执行。路由并不像宣传的那样“智能”。
我不是 100% 确定这是您遇到的问题,因为似乎缓慢不应该出现在连接中,而应该出现在处理对 Heroku 的请求中。
您可以在此处找到有关问题描述的更多详细信息:http://news.rapgenius.com/James-somers-herokus-ugly-secret-lyrics
关于Heroku:与 RDS 的连接时间真的很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204425/