Rails Application#call 很慢
Rails Application#call is very slow
我看到这个 Application#call
每次调用都需要 500 到 1500 毫秒,这会占用我的 Heroku dynos 上的内存并导致超时。知道如何找出 Application#call
里面的内容吗?坚持想法。我用 AppName
.
替换了我们的应用程序名称
我不确定 NewRelic 是否以这种方式显示它,但 call
是 Rack 的一部分并且 Rack 将请求传递到您的 Rails 应用程序。您的 Rails 应用所做的一切都发生在 call
的“之下”。
如果您想深入了解它的哪些部分花费的时间更长,请点击 NewRelic 中的“作为关键事务进行跟踪”并稍微积累一些痕迹。这将为您提供更高分辨率的报告——即,您将能够展开 call
部分并查看在您的 Rails 应用中调用的所有方法的时间。
通常您有同步 HTTP 请求(例如第三方 API 和服务)导致延迟,但您也可能有一个 CPU 绑定方法或被内存 运行 命中交换.
当这种情况第一次发生时,我查看了部署情况。原来它是来自 Scoutapp.com
的 Beta gem 版本
我看到这个 Application#call
每次调用都需要 500 到 1500 毫秒,这会占用我的 Heroku dynos 上的内存并导致超时。知道如何找出 Application#call
里面的内容吗?坚持想法。我用 AppName
.
我不确定 NewRelic 是否以这种方式显示它,但 call
是 Rack 的一部分并且 Rack 将请求传递到您的 Rails 应用程序。您的 Rails 应用所做的一切都发生在 call
的“之下”。
如果您想深入了解它的哪些部分花费的时间更长,请点击 NewRelic 中的“作为关键事务进行跟踪”并稍微积累一些痕迹。这将为您提供更高分辨率的报告——即,您将能够展开 call
部分并查看在您的 Rails 应用中调用的所有方法的时间。
通常您有同步 HTTP 请求(例如第三方 API 和服务)导致延迟,但您也可能有一个 CPU 绑定方法或被内存 运行 命中交换.
当这种情况第一次发生时,我查看了部署情况。原来它是来自 Scoutapp.com
的 Beta gem 版本