
백엔드
스파이크 테스트를 활용한 TPS 검증
두줄요약
선상-육상 메시지 재전송 파이프라인의 TPS 제한을 검증하기 위해 스파이크 테스트를 적용했습니다. 재발행 폭주와 즉시 재시도 때문에 유실이 발생했고, 속도 제한과 지수 백오프로 개선했습니다.
핵심 내용
- 선상 파드에서 육상 데이터 레이크로 메시지를 재전송하는 파이프라인에서, EMQX와 CCMD의 TPS 제한 때문에 순간 폭주 구간 검증이 필요했던 사례
- 일반 부하 테스트로는 평균 트래픽만 보게 되어 유실과 회복 시간을 확인하기 어려워, 짧은 시간에 부하를 급증·급감시키는 스파이크 테스트를 선택
- 발행 TPS, 중계 구간의 적체·에러율, 최종 수신 건수와 시퀀스 번호를 함께 관측해 병목과 유실 지점을 확인
- 재발행 로직의 무제한 순차 발행과 즉시 재시도 때문에 중계 구간이 포화되었고, 토큰 버킷 속도 제한과 지수 백오프로 개선
적용해볼 점
- TPS 제한이 있는 직렬 파이프라인은 평균이 아니라 순간 최대 유입 기준으로 검증
- 부하 발생량은 가상 사용자 수보다 초당 요청 수 기준으로 직접 제어
- 스파이크 이후 회복 구간까지 관측해 적체 해소 시간과 유실 여부를 함께 확인

