Sto usando uva in cima Rails 4.2.1 per fornire API per la nostra applicazione.Perché ActionDispatch :: Routing :: RouteSet vuole così tanto tempo
Ma quando controllo Newrelic per le prestazioni oggi ho scoperto che RackApp Proc#call
e Grape API::Root#call
richiedono molto tempo. (Si veda lo screenshot)
Poi ho provato a registrare il tempo consumato in middleware con rack_timer
e ha scoperto che ActionDispatch::Routing::RouteSet
sta prendendo la maggior parte del tempo:
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 67.12579727172852 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 101.51457786560059 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 84.18059349060059 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 1236.2565994262695 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 8.124351501464844 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 55.65309524536133 ms
ci sono anche casi che prendere 500ms - 1000ms in ActionDispatch::Routing::RouteSet
. Come avrei potuto rintracciare questo problema e come potevo sapere che cosa ho fatto di male in percorsi Rails?
Grazie mille per l'aiuto.
Ho lo stesso problema, hai trovato la causa? – fuyi