Ich benutze Grape oben auf Rails 4.2.1 API für unsere Anwendung zu bieten.Warum ActionDispatch :: Routing :: RouteSet dauert so lange
Aber wenn ich Newrelic für die Leistung heute überprüfen, fand ich, dass RackApp Proc#call
und Grape API::Root#call
viel Zeit in Anspruch nehmen. (Siehe Screenshot)
Dann habe ich versucht, die Zeit in Middleware mit rack_timer
und gefunden verbraucht loggt sein, dass ActionDispatch::Routing::RouteSet
nimmt die meiste Zeit auf:
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
Es gibt sogar Fälle, in denen Nehmen Sie 500ms - 1000ms in ActionDispatch::Routing::RouteSet
. Wie könnte ich dieses Problem aufspüren und wie könnte ich wissen, was ich bei den Rails Routen falsch gemacht habe?
Vielen Dank für die Hilfe.
ich gleiche Problem haben, haben Sie festgestellt, die Ursache? – fuyi