2017-04-13 4 views
0

나는 이걸보고 있습니다. 내 Heroku dynos에 메모리를 흡수하고 시간 초과를 유발하는 모든 호출에서이 Application#call은 500에서 1500ms까지 걸립니다. 이 내부에 무엇이 있는지 알아내는 방법에 대한 생각은 무엇입니까? Application#call? 아이디어에 매달렸다. 나는 우리의 앱 이름을 AppName으로 바꿨다.레일 응용 프로그램 # 호출이 매우 느립니다.

New Relic screenshot

답변

0

배포가 처음 시작될 때 살펴 보았습니다. Scoutapp.com의 베타 버전이었습니다.

0

NewRelic가 이런 식으로 표시되어 있는지 확실하지 않습니다 만, call는 랙과 장소 랙이 레일 응용 프로그램에 해제 요청을 전달의 일부입니다. Rails 애플리케이션이 수행하는 모든 작업은 "call"의 "under"에서 발생합니다.

시간이 오래 걸리면 NewRelic에서 "Track as key transaction"을 누르고 조금 쌓아서 흔적을 남깁니다. 이렇게하면 더 높은 해상도보고가 제공됩니다. 즉, call 섹션을 확장하고 Rails 앱에서 호출 된 모든 메소드에 대한 시간을 볼 수 있습니다.

일반적으로 지연을 유발하는 동기 HTTP 요청 (예 : 타사 API 및 서비스)이 있지만 CPU 바운드 메소드가 있거나 스왑으로 실행되는 메모리에 치명적일 수 있습니다.