가끔 몇 바이트를 전달하는 응답은 각 읽기 비활성 한도 안에 머물면서도 전체적으로는 훨씬 오래 걸릴 수 있습니다. 읽기 타임아웃이 전체 전송 시간을 측정할 필요는 없습니다.

워크로드에 맞게 정책을 선택합니다. 유한한 아카이브에는 완료 예산이 필요합니다. 이벤트 스트림은 정당하게 몇 시간씩 계속되고 때로는 조용할 수 있습니다.

유용한 진행을 측정합니다

파일 다운로드의 경우 전체 기한을 유지하고 클라이언트가 지원하는 저속 또는 진행 제어를 고려합니다. 간격과 유용한 데이터 양을 정의합니다. 하트비트 바이트는 활동을 보여줄 수 있지만 파일 완료를 향한 실질적인 진행은 아닐 수 있습니다.

터널 설정을 본문 전송과 분리합니다. CONNECT 완료를 기다리는 것과 느린 대상 본문을 받는 것은 서로 다른 증거를 가진 다른 단계입니다.

모든 종료 경로에서 응답을 소비하거나 닫습니다. 느린 스트림을 열어 두면 다음 요청이 풀 용량을 기다리게 되어 다른 이유로 또 다른 타임아웃이 발생할 수 있습니다.

관측된 시간이 의도한 정책을 초과하면 정확한 클라이언트 버전과 읽기 루프를 조사합니다. 올바르게 작동하는 비활성 타이머, 사용자 정의 루프 동작, 구현 버그는 각각 다른 수정이 필요합니다.

관련 글