2014-12-18 33 views
6

Per qualche ragione il mio ::Application#call è incredibilmente lento. In un caso ci sono voluti 3,840ms secondo la strumentazione di New Relic.Perché la chiamata # dell'applicazione dovrebbe essere lenta?

La documentazione solo descrive questo metodo come: Implements call according to the Rack API. It simply dispatches the request to the underlying middleware stack.

Ci vogliono più di 5 secondi per ottenere anche a ActionDispatch::Routing::RouteSet#call, figuriamoci il metodo di mio controller.

Perché potrebbe essere così lento? E dove potrei provare a strumentare per approfondire ulteriormente?

Nessuno dei miei middleware sembrano essere particolarmente strano, o:

use Raven::Rack 
use #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x007fd836083e08> 
use Rack::Runtime 
use ActionDispatch::RequestId 
use Rails::Rack::Logger 
use Rack::Cors 
use ActionDispatch::ShowExceptions 
use ActionDispatch::DebugExceptions 
use ActionDispatch::RemoteIp 
use ActionDispatch::Callbacks 
use ActiveRecord::ConnectionAdapters::ConnectionManagement 
use ActiveRecord::QueryCache 
use ActionDispatch::ParamsParser 
use Clearance::RackSession 
use Rack::Head 
use Rack::ConditionalGet 
use Rack::ETag 
use ActionDispatch::Flash 
use Rack::SslEnforcer 
run CookacademyApi::Application.routes 
+0

Hai controllato la strumentazione del middleware su New Relic? Se c'è qualcosa di lento tra la chiamata all'app e la chiamata ai percorsi, potrebbe essere un middleware. Per vedere cosa c'è nella tua pila del middleware, puoi eseguire 'rake middleware'. – fivedigit

+0

@fivedigit La strumentazione di middelware non sembra mostrarmi molto: http://cl.ly/image/1B3P143p2g3K –

+0

@JoshSmith Hai trovato qualche soluzione? Sto anche affrontando lo stesso numero –

risposta

0

Non fare troppo affidamento sulle metriche NewRelic. Recentemente ho avuto lo stesso problema con una pagina NR stimata attorno ai 3 secondi da caricare. Dopo aver chiuso un paio di applicazioni e riavviato Firefox NR ha mostrato meno di 300 ms

Problemi correlati