테스트 샤딩 시간 계산기
전체 테스트 수, 평균 실행시간, 샤드 수를 입력해 병렬 테스트 완료시간을 추정합니다.
전체 테스트 수와 평균 실행시간, 샤드 수를 입력하면 병렬 실행 시 예상 완료시간을 계산해 드려요. 테스트가 샤드에 균등하게 분배된다는 가정으로 산출합니다.
테스트 샤딩 시간 계산기
계산 공식 및 예시
예상 완료 시간(분) = 올림(전체 테스트 수 / 샤드 수) × 평균 테스트 실행시간(분)테스트 샤딩 시간 계산기 사용법
전체 테스트 수, 테스트 한 건의 평균 실행시간, 동시에 실행할 샤드 수를 입력하면 병렬 테스트의 예상 완료시간을 계산할 수 있습니다. CI 파이프라인의 워커 수나 테스트 실행 시간을 조정할 때 대략적인 용량을 산정하는 용도로 활용하세요.
계산 결과는 각 샤드에 배정되는 최대 테스트 수를 기준으로 산출합니다. 따라서 테스트가 완전히 균등하게 나뉘지 않는 상황에서도 가장 오래 걸리는 샤드의 완료시간을 추정할 수 있습니다.
계산 방법
먼저 전체 테스트를 샤드 수로 나눈 뒤 소수점이 생기면 올림하여 샤드당 최대 테스트 수를 구합니다. 여기에 테스트 한 건의 평균 실행시간을 곱합니다.
예상 시간은 분 단위의 정수로 반올림해 표시하며, 60분 이상이면 시간과 분 형식으로 함께 보여줍니다.
계산 예시
- 상황 1: 전체 테스트 100개, 평균 실행시간 5분, 샤드 4개라면 샤드당 최대 25개가 배정됩니다.
25 × 5 = 125분이므로 예상 완료시간은 약 2시간 5분입니다. - 상황 2: 전체 테스트 200개, 평균 실행시간 20분, 샤드 10개라면 샤드당 20개가 배정됩니다.
20 × 20 = 400분이므로 예상 완료시간은 약 6시간 40분입니다. - 상황 3: 전체 테스트 101개를 4개 샤드로 실행하면 일부 샤드에는 26개가 배정될 수 있습니다. 평균 실행시간이 3.5분이면
26 × 3.5 = 91분으로 약 1시간 31분이 소요됩니다.
사용 시 주의사항 및 활용 팁
- 본 계산기 결과는 단순 추정 참고용 수치입니다.
- 테스트별 실행시간 편차가 크면 평균값보다 가장 느린 테스트 묶음이 전체 시간을 결정할 수 있습니다.
- 샤드 수를 늘릴 때는 CI 실행기 수, CPU·메모리, 데이터베이스 연결 수와 같은 인프라 한도를 함께 확인하세요.
- 테스트 환경 준비와 정리 시간이 샤드마다 반복된다면 그 시간을 평균 실행시간에 포함하거나 별도로 여유 시간을 더하는 것이 좋습니다.
- 실패한 테스트의 재시도, 캐시 미스, 컨테이너 시작 지연, 작업 큐 대기시간은 계산 결과에 포함되지 않습니다.
Q&A
자주 묻는 질문
샤드 수를 늘리면 테스트 시간이 항상 같은 비율로 줄어드나요?
항상 그렇지는 않습니다. 테스트 분배가 균등하지 않거나 샤드 생성·환경 설정·결과 취합에 시간이 추가되면 실제 단축 효과가 줄어들 수 있습니다.
샤드 수가 테스트 수보다 많아도 계산할 수 있나요?
계산할 수 있습니다. 테스트 하나당 최소 한 개의 실행 슬롯이 필요하므로 실제로 작업을 수행하는 활성 샤드는 테스트 수를 넘지 않는 것으로 표시합니다.
평균 테스트 실행시간에는 어떤 시간을 넣어야 하나요?
테스트 한 건이 시작된 후 결과가 완료될 때까지의 평균 시간을 입력하세요. CI 환경의 초기화나 샤드별 오버헤드가 크다면 실제 결과는 계산값보다 길어질 수 있습니다.