녹음 업로드 요청은 파일 검사와 객체 저장을 거친 뒤 응답합니다. 코드 리뷰에서 저장소 호출 상한이 2분이라는 점을 확인했습니다. 이 경로에서 Nginx의 응답 읽기 제한은 60초였습니다. 저장소가 느리면 애플리케이션이 오류 형식을 정해 응답하기 전에 프록시가 연결을 끝낼 수 있었습니다.
재시도를 포함한 40초 상한
파일 검사 도구에는 10초, 저장소 호출 전체에는 40초를 배정했습니다. 두 설정을 더하면 50초입니다. Nginx의 60초는 연속한 읽기 사이의 대기 제한이고, 50초는 이 경로의 두 주요 작업에 배정한 예산입니다. 둘 다 실제 요청 시간의 측정값은 아닙니다. Nginx의 응답 읽기 제한
AWS SDK에 최대 시도 횟수 3만 주면 시도 사이에 쉬는 시간과 각 시도의 대기를 합친 시간이 남습니다. 재시도까지 포함한 apiCallTimeout에 상한을 줬습니다. 애플리케이션에서는 SDK 실패를 저장소 예외로 바꾸고, 이 실패를 업로드 경로의 503으로 처리합니다. AWS SDK for Java의 시간 제한
지연 응답 전에 호출 종료 확인
실제 SDK를 그대로 두고, 로컬 HTTP 대역이 응답을 1초 늦추게 했습니다. 테스트에서만 호출 상한을 200ms로 낮추고 경과 시간을 확인했습니다. 테스트는 0.8초 안에 저장소 예외가 올라와야 통과하도록 했고, 수정 뒤 통과했습니다. 0.8초는 실행 환경의 오차를 고려한 검사 경계입니다.
별도 단위 검사에서는 저장소 호출 상한에 ffprobe 상한 10초를 더해 Nginx의 기본 읽기 제한 60초보다 작은지 확인했습니다. 느린 저장소를 연결한 실제 Nginx 경로의 응답과 운영 저장소의 지연 분포는 이 검증 범위에 포함되지 않았습니다.

댓글
댓글과 반응은 GitHub 계정으로 로그인해 남길 수 있어요.