환경 :임의의 느린 랙 ::에게 Heroku에 레일 응용 프로그램에 MethodOverride 번호 호출
루비 : 2.1.2
레일 : 4.1.4
Heroku가
Heroku에서 호스팅하는 Google의 레일 앱에서 요청을 실행하는 데 시간이 오래 걸리는 경우가 있습니다. 그것은 단지 1 % 이하의 시간이지만, 우리는 그것이 무엇이 일어나고 있는지 알 수 없습니다.
newrelic 에이전트가 설치되어 있고 은 요청 대기열이 아니며이라는 메시지가 표시됩니다. 실행하는 데 걸리는 시간은 트랜잭션 자체입니다.
그러나, 트랜잭션 추적이 보여줍니다
이지금까지 내가 말할 수있는
(이 같은 요청이 시간의 대부분을 실행하는이 100ms 만 소요), 시간이되고있다 우리 컨트롤러가 호출되기 전에 소모되었습니다. 그것은에 소비된다
Rack::MethodOverride#call
그것은 우리가 이해할 수없는 것이다.
또한 대부분의 경우 (또는 항상 확실하지는 않지만) 모바일 장치에서 보낸 POST 요청에서 발생합니다. 이것은 느린 연결과 관련이있을 수 있습니까? (POST-payload는 매우 작지만).
누구에게 경험이 있습니까? 이 문제를 계속 탐구하는 방법에 대한 조언을 주시면 감사하겠습니다. 사전에
감사합니다!
빠른 답변 주셔서 감사합니다. 당신이 알고 있다면 또 하나의 질문 : 그 시점에서, 요청 몸은 이미 dyno의 기억에 있습니까? 또는 요청 본문을 읽는 것이 클라이언트의 연결에 영향을받을 수 있습니다. 내 말은, 클라이언트의 연결이 느린 경우 요청 본문을 읽는 데 너무 많은 시간이 걸리는 이유 일 수 있습니까? – alex