ruby-on-rails - apartment - rails on rails




ActionDispatch:: Routing:: RouteSet#call Rails 4.1 realmente lento (2)

La desaceleración es un indicador de que es específico de Heroku. Probablemente la razón por la que viste desaparecer el problema al actualizar a Performance Dynos.

He buscado días pero no puedo encontrar ninguna respuesta relevante a esta pregunta.

En mi aplicación Rails 4.1 alojada en Heroku, cuando la carga aumenta, algunas solicitudes PUT se vuelven REALMENTE lentas. El más lento hoy fue de 53 segundos. Todo sin la base de datos (MongoDB) registrando cualquier consulta lenta. Normalmente esta solicitud tarda 0.3ms tan rápido. La solicitud es lenta sin importar cuál sea la carga útil.

Al instalar New Relic, arrojó algo más de luz sobre la situación, pero aún no sé dónde solucionar este problema.

El código en el controlador es rápido, pero según New Relic, lo que es lento es ActionDispatch :: Routing :: RouteSet # call

Aquí hay un volcado de lo que reporta 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%

Alguna otra información que podría ayudar o tal vez podría tener algo que ver con esto. Tengo un alias para las rutas, pero no puedo ver por qué eso debería importar.

namespace :plugin do
   resources :fetchables, path: :minables
end

Cualquier idea sobre lo que podría estar pasando y lo que podría hacer para solucionarlo sería muy apreciada.

Actualización Por lo que parece que esto está relacionado con la memoria. Cuando actualizamos a Performance Dynos, dejamos de ver estos errores. Pero esto es algo que parece estar seriamente mal configurado en Heroku.






actiondispatch