我搜索了几天,但找不到任何相关的答案这个问题.
在我的Rails 4.1应用程序托管在Heroku,当负载上升,一些PUT请求得到真的很慢.今天最慢的是53秒.所有没有数据库(MongoDB)注册任何缓慢的查询.通常这个请求需要0.3ms这么快.无论有效载荷是什么,请求都是缓慢的.
在安装新的遗物之后,我们再多注意一下情况,但是我仍然不知道在哪里解决这个问题.
控制器中的代码很快,但是根据New Relic,缓慢的事情是ActionDispatch :: Routing :: RouteSet#call
这是一个新的遗物报告的转储:
Slowest components Count Duration % ActionDispatch::Routing::RouteSet#call 1 53,000 ms 100% Plugin::FetchablesController#update 1 38 ms 0% Rails::Rack::Logger#call 1 1 ms 0% ActionDispatch::Cookies#call 1 1 ms 0% ActiveSupport::Cache::Strategy::LocalCache::Middleware#call 1 0 ms 0% Rack::Runtime#call 1 0 ms 0% Total 53,000 ms 100%
一些可能有帮助或可能与此有关的其他信息.我有一个别名的路线,但我看不出为什么这应该是重要的.
namespace :plugin do resources :fetchables,path: :minables end
任何关于可能发生的事情的想法,以及我可以做些什么来解决这个问题,将不胜感激.
更新
所以看来这是与内存相关的.当我们升级到Performance Dynos时,我们已经停止看到这些错误.但这是在Heroku看来严重配置错误的东西.
解决方法
减速是Heroku具体的指标.当您升级到Performance Dynos时,可能是为什么看到问题消失了.