2014-12-18 30 views
6

Nedense benim ::Application#call inanılmaz derecede yavaş. Bir durumda New Relic'in enstrümantasyonuna göre 3,840ms aldı. Hatta, ActionDispatch::Routing::RouteSet#call almak yalnız benim kontrolörün yöntemini izin 5'in üzerinde saniye sürer Implements call according to the Rack API. It simply dispatches the request to the underlying middleware stack.Uygulama # çağrısı neden yavaş olsun?

:

belgeler tıpkı bu yöntemi tarif etmektedir.

Bu neden bu kadar yavaş olabilir? Ve bunu daha fazla kazmak için enstrümanı nerede deneyebilirim? Benim ara katman arasında

Yok, özellikle tuhaf olmaya bakmak ya:

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

New Relic'teki middleware enstrümantasyonunu kontrol ettiniz mi? Uygulamaya yapılan çağrı ile rotalara yapılan çağrı arasında yavaş bir şey varsa, bir ara yazılım olabilir. Züccaciye yığınında ne olduğunu görmek için 'rake middleware' komutunu çalıştırabilirsiniz. – fivedigit

+0

@fivedigit Middelware enstrümantasyonu bana çok şey göstermiyor: http://cl.ly/image/1B3P143p2g3K –

+0

@JoshSmith Herhangi bir çözüm buldunuz mu? Ben de aynı sorunla karşılaşıyorum –

cevap

0

NewRelic metrikleri üzerinde çok fazla güvenmeyin. Yakın zamanda yüklenecek yaklaşık 3s tahmini bir sayfa NR ile aynı sorunu aldım. Birkaç uygulamayı kapattıktan ve firefox NR'yi yeniden başlattıktan sonra, 300ms'den daha az bir rakam gösterdi

İlgili konular