37장. 부하 시험에서 병목을 한 번에 하나씩 바꾼다
fixture는 작은 현장 다수, 큰 현장 하나, HIGH 위험 비율, 긴 메모, 동시 교대 마감, 외부 API 지연을 섞는다. warm-up과 측정 구간을 나누고 고정 seed를 기록한다. 평균 latency 하나 대신 p50/p95/p99, error, CPU, allocation, GC pause, pool wait, DB lock, query time, outbox lag를 함께 본다.
connection pool은 DB 최대 연결에서 운영·관리 여유를 빼고 pod 최대 수로 나눈다. HPA가 pod를 늘릴 때 총 connection이 DB를 무너뜨리지 않는지 계산한다. thread 또는 virtual thread를 늘려도 DB connection과 외부 dependency가 병목이면 처리량은 늘지 않는다.
실험은 pool 10→20과 pod 3→6을 동시에 바꾸지 않는다. 전후 결과와 비용, 실패 복구 시간을 표로 남긴다. 평상시 처리량이 늘어도 shutdown 중 중복이나 timeout이 늘면 출시하지 않는다. 목표는 benchmark 숫자가 아니라 교대 마감 SLO를 예산 안에서 만족하는 구성이다.