Rails Application#调用非常慢

时间:2017-04-13 03:09:53

标签: ruby-on-rails-3 heroku middleware rack

我看到这个Application#call在每次通话时都需要500到1500毫秒的时间,这会吸收我的Heroku dynos上的内存并导致超时。知道如何找出这个Application#call里面的内容吗?坚持想法。我用AppName替换了我们的应用名称。

New Relic screenshot

2 个答案:

答案 0 :(得分:0)

我不确定NewRelic是否以这种方式显示,但call是Rack的一部分,Rack将请求传递到您的Rails应用程序。您的Rails应用程序所做的一切都发生在call的“下方”。

如果你想深入了解它需要更长时间的部分,请在NewRelic中点击“跟踪为关键事务”,并给它一点积累痕迹。这将为您提供更高分辨率的报告 - 即,您将能够扩展call部分并查看在Rails应用程序中调用的所有方法的时间。

通常,您有同步HTTP请求(例如,第三方API和服务)导致延迟,但您可能还有一个CPU绑定方法或被运行到swap中的内存命中。

答案 1 :(得分:0)

第一次开始时,我查看了部署。原来它是来自Scou​​tapp.com的beta宝石版