Siege는 높은 동시 요청 상황에서 웹 서버의 성능을 스트레스 테스트하고 측정하도록 설계된 HTTP/HTTPS 부하 테스트 유틸리티입니다.
기본 사용법
# 10개 동시 연결로 1분 동안 벤치마크 수행
siege -c 10 -t 1m https://example.com/
주요 명령줄 옵션
| 옵션 | 플래그 | 설명 |
|---|---|---|
-c N |
--concurrent=N |
동시 시뮬레이션 사용자 수 |
-t MINm |
--time=MINm |
전체 벤치마크 지속 시간 (예: 30s, 5m, 1h) |
-r N |
--reps=N |
종료 전 사용자당 요청 횟수 |
-b |
--benchmark |
벤치마크 모드 (요청 간 지연 없음) |
-i |
--internet |
파일의 URL을 무작위 순서로 요청 |
-f <file> |
--file=<file> |
대상 URL 목록을 파일에서 읽어오기 |
-H <hdr> |
--header=<hdr> |
요청에 커스텀 HTTP 헤더 추가 |
다중 URL 파일 기반 테스트
urls.txt 파일 생성:
https://example.com/
https://example.com/api/items
https://example.com/about
URL 목록에 대한 무작위 시뮬레이션 실행:
siege -i -c 25 -t 2m -f urls.txt
출력 지표 해설
- Availability: 성공적으로 처리된 요청의 비율 (100% 권장).
- Elapsed time: 벤치마크 실행 총 시간.
- Transaction rate: 초당 처리된 요청 수 (RPS / 처리율).
- Throughput: 초당 전송된 데이터 용량 (MB/s).
- Concurrency: 활성화된 평균 동시 연결 수.