2014-10-30 7 views
5

나는 이것들 중 상당수를 보았습니다. 나는 그것이 무엇을 의미하는지 이해한다. 그래서 나는 왜 그것이 일어나고 있는지 이해할 수 없다. 매우 일관성이 없으며 제한 시간 문제가되지 않습니다.Heroku H18 503 "Request Interrupted"오류

관련 재료 :

  • PHP/laravel/포스트 그레스 Heroku가
  • 내가 SSL을
  • I 경로 /로 강제는/anotherroute
  • 나는 모든 클라이언트에 복제 할 수 없습니다 자신
  • 경로가 항상 동일하지 않은 경우가 종종 있습니다. 자산의 간단한로드
  • 보고 된 응용 프로그램 오류가 없습니다.
  • 양말 = 클라이언트가
  • 서비스 시간은 항상 < 일초

일부 로그 데이터 :

10월 29일 18시 22분 12초 MyApp를 - 웹 제작 Heroku가/라우터 : 양말 = 클라이언트 = 오류 코드 = H18 desc = "Request Interrupted"방법 = GET path = "/ aroute"host = ... request_id = ... fwd = "##. ##. ###"dyno = web.1 연결 = 2ms 서비스 = 34ms 상태 = 503 바이트 = 3816

10 월 29 일 18:22:13 myapp-web-production heroku/router : sock = client at = 오류 코드 = H18 desc = "Request Interrupted"방법 = GET 경로 = "/ aroute"호스트 = ... request_id = ... fwd = "##. ##. ##. ###"dyno = web. 1 연결 = 1ms 서비스 = 538ms 상태 = 503 바이트 = 3822

10 월 29 일 18:22:14 myapp-web-production heroku/router : sock = 클라이언트 = 오류 코드 = H18 desc = "요청 중단"method = GET path = "/ aroute"host = ... request_id = ... fwd = "##. ##. ###"dyno = web.1 연결 = 1ms 서비스 = 406ms 상태 = 503 바이트 = 13927

막혔습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

5

서버가 응답하기 전에 클라이언트의 연결이 끊어지고 있다는 의미로 sock=client 속성을 사용합니다. 우리는 핸들러에 인위적인 10 초 지연을 추가 한 다음 웹 브라우저에서 엔드 포인트를 요청하고 서버가 응답하기 전에이를 닫음으로써이를 재현 할 수 있습니다.

우리는 로그에서 모든 H18을 sock=client으로 필터링합니다.

+1

내가 Heroku에서받은 의견입니다. 응답이 주어진 클라이언트의 연결이 얼마나 끊어 졌는지를 알기 위해 약간의 의구심이있었습니다. 요청에 대해 1000ms 이상 걸리지 않았습니다. 대답은 Thx입니다. – Nick

+0

@ 닉 : 나는 또한 우리의 경우에 얼마나 많은지에 놀랐습니다. 너는 이것에 대해 더 깊게 파고 들었 니? 아니면 그냥 받아 들여서 계속 나아 갔니? 나는 실제로 더 깊은 곳에서 실제로 파고 드는 방법에 대해 궁금합니다. – hendrikbeck

+0

@hendrikbeck 사용자의 문제에 대한 보고서를 전혀 얻지 못했고 어떤 문제도 직접 목격하지 못했기 때문에 나는 그것을 받아 들였습니다. 조사 할 시간이 필요하다면 "Charles"와 같은 네트워크 진단 프로그램을 실행하고 연결을 제한하고 문제를 재현하기 위해 로그를 꼬리십시오. 그것은 모바일 네트워크의 손실에 대한 분석 (google, woopra 등) 폴링 연결 해제와 같은 간단한 것일 수 있습니다. – Nick