何日も検索しましたが、この質問に関連する回答が見つかりません。
Heroku でホストされている私の Rails 4.1 アプリでは、負荷が上がると、一部の PUT リクエストが非常に遅くなります。今日の最も遅いものは53秒でした。データベース (MongoDB) が遅いクエリを登録する必要はありません。通常、このリクエストには 0.3 ミリ秒かかるため、非常に高速です。ペイロードが何であれ、リクエストは遅いです。
New Relic をインストールすると、状況がさらに明らかになりますが、この問題をどこで修正すればよいかはまだわかりません。
コントローラーのコードは高速ですが、New Relic によると、遅いのは ActionDispatch::Routing::RouteSet#call です
以下は、New Relic が報告する内容のダンプです。
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 での設定が非常に悪いようです。