~/utility/load-tester
Global API Load Tester — 10K+ RPS 스트레스 테스트
지역 분산 트래픽, 가중치 기반 타겟, 인터랙티브 HTML 리포트로 초당 10,000건 이상의 요청을 시뮬레이션하는 고성능 부하 테스트 도구입니다.
테스트
>99% 성공률
GoVegeta
글로벌
카테고리utility / 테스트
언어Go
스택Go, Vegeta
마켓글로벌
성공률>99%
출력클린한 RAG-레디 JSON
주요 기능
극한의 성능 — 초당 10,000건 이상의 요청
미국, 유럽, 아시아에서의 지역 분산 테스트
가중치 기반 멀티 타겟 공격(예: 읽기 90% / 쓰기 10%)
현실적인 트래픽을 위한 레지덴셜 프록시 지원
Coordinated Omission을 방지하는 일정 속도 페이싱
Vegeta Plots를 통한 인터랙티브 HTML 리포트
상세한 지연시간, 처리량, 에러 지표
활용 사례
- 출시 전 API 성능 벤치마킹
- 용량 계획 및 인프라 사이징
- 한계점 및 병목 지점 파악
- CDN 및 로드 밸런서 설정 테스트
- 지역 분산 지연시간 테스트
- 성능이 중요한 엔드포인트에 대한 회귀 테스트
입력 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
targets | array | 필수 | URL, 메서드, 바디, 헤더, 가중치를 포함한 타겟 엔드포인트 |
rate | number | 선택 | 초당 요청 수(기본값: 50) |
duration | number | 선택 | 테스트 지속 시간(초, 기본값: 60) |
geoDistribution | array | 선택 | 국가 코드와 트래픽 가중치를 포함한 지역 설정 |
useStickySessions | boolean | 선택 | 세션 어피니티 유지(기본값: true) |
maxCostLimit | number | 선택 | 테스트 실행의 비용 상한 |
출력 예시
부하 테스트 도구는 인터랙티브 HTML 리포트와 구조화된 지표를 생성합니다:
1{
2 "summary": {
3 "totalRequests": 50000,
4 "duration": "60s",
5 "rps": 833.33,
6 "successRate": 99.8,
7 "latency": {
8 "mean": "12.4ms",
9 "p50": "10.1ms",
10 "p95": "28.7ms",
11 "p99": "89.2ms",
12 "max": "342.1ms"
13 },
14 "statusCodes": {
15 "200": 49900,
16 "503": 100
17 }
18 }
19}
자주 묻는 질문
지역 분산 테스트는 어떻게 동작하나요?
국가 코드와 트래픽 가중치를 지정하면, 도구가 해당 지역의 Apify 프록시 서버 전체에 요청을 분산시켜 현실적인 글로벌 트래픽 패턴을 시뮬레이션합니다.
Coordinated Omission이 무엇인가요?
타겟이 과부하 상태일 때 테스트 도구 자체가 느려지면서 실제보다 결과가 더 좋아 보이게 만드는, 부하 테스트에서 흔히 발생하는 함정입니다. Vegeta는 이를 방지하기 위해 일정 속도 페이싱을 사용합니다.
인증이 필요한 엔드포인트도 테스트할 수 있나요?
네, 타겟 설정에 authorization 헤더를 포함하면 됩니다. 각 타겟은 자체 헤더, 메서드, 바디를 가질 수 있습니다.