35장. 성능 시험을 재현 가능하게 만든다
10만 건을 같은 금액·같은 seller로 채우면 실제 병목을 재현하지 못한다. 작은 seller 다수와 전체의 큰 비중을 가진 seller, 정상·오류 행, 긴 문자열, 날짜 경계, 중복 키를 seed에 섞는다. seed와 generator version을 고정한다.
baseline에는 JVM·CPU·memory·DB version·instance class, schema·index, connection pool, chunk, worker, input location을 적는다. warm-up과 측정 구간을 나누고 세 번 이상 실행한다. records/sec 하나가 아니라 p50/p95 chunk, GC pause, DB wait, retry, output 대사 시간을 함께 본다.
실험은 한 요소만 바꾼다. chunk 100→500과 worker 2→4를 동시에 바꾸면 원인을 모른다. 변경 전후에 실패를 주입해 restart 시간과 중복도 비교한다. 평상시 20% 빨라져도 장애 복구가 두 배 느려지면 마감 여유와 함께 판단한다.