Bri*_*ong 19 performance heroku
我们发现Heroku上的性能不一致与最近的独角兽/智能路由问题无关.
这是一个请求的示例,通常需要大约150毫秒(20倍中的19个是需要多长时间).你可以看到,在这个请求上花了大约4秒,或者长了1到2个数量级.

有些事情需要注意:
所以我想知道什么可能导致这些偶尔的慢速请求.正如我所提到的,传闻似乎在20个请求中大约有1个发生.我唯一能想到的是盒子上存在嘈杂的邻居问题,或者路由层的性能不一致.如果有人有其他信息或想法,我会很好奇.谢谢.
我自己一直在追逐类似的问题,到目前为止运气不大.
我想第一项业务是推荐NewRelic.在这些情况下,它可能会为您提供更多信息.
其次,我建议您查看排队时间:您的请求排队多长时间.请查看NewRelic,或者使用Heroku添加到您的传入请求的"开始时间"HTTP标头(仅打印()减去"开始时间"作为您的队列时间)来自行完成.
当那些在我的情况下失败的时候,我试着想出可能出错的事情,这里有一个(非正统的?奇怪的?)列表:
1)DNS - 您在视图中进行任何DNS呼叫吗?这些可能需要一段时间.甚至DNS请求解析数据库主机名,Redis主机名,外部服务提供商等.
2)日志性能 - Heroku使用他们的"Logplex"收集你所有的标准输出,然后它会消耗到你自己定义的logdrains,Papertrail等服务.没有关于这个的性能的文档,并写入你的stdout从理论上讲,进程可能会阻塞Heroku冲洗它可能存在的任何缓冲区.
3)获得数据库连接 - 不确定您正在使用哪个框架,但是您可能有一个连接池,您正在从中获取数据库连接,这需要时间?它不会显示为查询时间,它会阻止您的进程时间.
4)Dyno性能 - Heroku有一个附加功能,可以每隔几秒将一些服务器指标(加载平均值,内存)打印到stdout.我使用Graphite来绘制这些图表并查找指标与我看到"偶发慢速请求"实例增加的时间之间的相关性.它没有帮助我,但可能会帮助你:)
请告诉我们您的想法.
| 归档时间: |
|
| 查看次数: |
2312 次 |
| 最近记录: |