2014-12-18 5 views
6

어떤 이유인지 내 ::Application#call은 매우 느립니다. New Relic의 계측에 따르면 한 케이스에서는 3,840ms이 걸렸습니다. 그것은 심지어 ActionDispatch::Routing::RouteSet#call에 도착 혼자 컨트롤러의 방법을 수 있도록 5 초 이상 소요 Implements call according to the Rack API. It simply dispatches the request to the underlying middleware stack.Application # 호출이 느린 이유는 무엇입니까?

:

문서는 것처럼이 방법을 설명합니다.

왜 이렇게 느릴 수 있습니까? 그리고 이것을 더 깊이 파고 들기 위해 어디에서 악기를 사용해 볼 수 있을까요? 내 미들웨어의

없음, 특히 홀수로 보지 중 하나

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에서 미들웨어 계측을 확인 했습니까? 앱 호출과 경로 호출 사이에 속도가 느린 경우 미들웨어 일 수 있습니다. 미들웨어 스택에 무엇이 있는지 보려면'rake middleware'를 실행하십시오. – fivedigit

+0

@fivedigit middelware 계측기가 제게 많은 것을 보여주지 못합니다 : http://cl.ly/image/1B3P143p2g3K –

+0

@JoshSmith 해결책을 찾았습니까? 나는 또한 같은 문제에 직면하고있다 –

답변

0

NewRelic 측정에 너무 많이 의존하지 마십시오. 최근에로드 할 페이지가 약 3 초로 추정되는 페이지에서 동일한 문제가 발생했습니다. 몇 가지 응용 프로그램을 종료하고 Firefox를 다시 시작하면 NR이 300ms 미만으로 표시됩니다.