0

레일 4의 성능 문제를 진단하려고하고 있으며 무슨 일이 일어나는지 알 수 없습니다. 여기에 내가 내 서버에보고 있어요하는 타이밍이다 :레일스 런타임 메트릭 이해

은 2816ms에서 OK (200)를 완료가 (조회수 : 644.1ms | 액티브 : 162.0ms | SOLR : 0.0ms) 주로 난

() 내 조회 시간 및 ActiveRecord 시간에 만족하지만 완료 시간 (2816ms)이 너무 큰 이유를 이해하지 못합니다.

그 시간은 무엇을 나타 냅니까? 그 시간을 줄이려면 어떤 방법이 있을까요?

+0

예를 들어 개발 모드의 미니 프로파일 러를 사용하여 SQL 쿼리와 렌더링 호출을 추적 할 수 있습니다. 이 보석은 완료 시간에 많은 밀리 초를 추가합니다. 앱의 성능을 테스트하고 싶다면 프로덕션 모드를 사용해야합니다 (프로덕션 모드로 실행하기 전에 'rake assets : precompile'을 사용하십시오). – MrYoshiji

+0

@MrYoshiji이 결과를 준비중인 (거의 프로덕션 환경에서) 얻고 있습니다. api 때문에 뷰는 json 렌더링입니다. 가능한 경우 미니 프로파일 러를 사용하고 싶습니다! : D –

답변

1

귀하의 요청 처리 시간의 2/3 이상이 모델 /보기에 포함되어 있지 않다는 것을 보여줍니다. 남은 건 뭐야? 컨트롤러 내에서 실행중인 다른 코드가 라이프 사이클을 처리하도록 요청합니다.

이 Gemfile에 보석을 추가합니다 :

gem 'newrelic_rpm' 

은 설정/newrelic에 대한 개발의 지역 프로파일을 사용

이 프로파일하는 가장 좋은 방법은 newrelic RPM 보석을 설치하고 로컬 프로파일 러를 실행하는 것입니다 .yml :

development: 
    <<: *default_settings 
    monitor_mode: false 
    developer_mode: true 

레일즈 응용 프로그램을 따뜻하게 한 후 흔적을보고 무슨 일이 일어나고 있는지 추적 할 수있는 지역 newrelic 응용 프로그램을 방문 요청을 2 ~ 3 회를 실행합니다

http://localhost:3000/newrelic 
+0

사려 깊은 답변 주셔서 감사합니다! 나는 지역의 프로파일 링을 시도 할 것이므로 newrelic을 사용하고있다. –

+0

성능 튜닝은 나의 열정입니다. 진행 상황을 해석하는 데 어려움이 있으시면 [email protected]으로 메일을 보내주십시오. – Winfield