관리 메뉴

피터의 개발이야기

웹 서버 부하 테스트 도구, siege 사용법 정리 본문

개발이야기

웹 서버 부하 테스트 도구, siege 사용법 정리

기록하는 백앤드개발자 2025. 8. 12. 23:59
반응형

ㅁ 들어가며

ㅇ 웹 서비스를 운영하거나 개발할 때, 서버가 어느 정도의 트래픽을 견딜 수 있는지를 테스트해보고 싶을 때가 있다. 이럴 때 유용하게 사용할 수 있는 도구 중 하나가 바로 siege이다. [Nginx] NGINX Rate Limiting & 동적 IP 차단 가이드을 진행하면서 알게 되었는데, 이번 글에서는 siege를 설치하고 기본적인 사용 방법을 정리하였다.

 

ㅁ Siege란?

siege는 Unix 기반의 오픈소스 부하 테스트 도구이다.
다수의 사용자가 동시에 웹 서버에 접근하는 상황을 시뮬레이션할 수 있어, 성능 테스트 및 안정성 점검에 매우 유용하다.

 

설치 방법

# macOS (Homebrew)
brew install siege

 

# Ubuntu / Debian 계열
sudo apt-get update
sudo apt-get install siege

 

# CentOS / RHEL 계열
sudo yum install siege

 

 

ㅇ 설치확인

siege -V

ㅇ 버전 정보가 출력되면 성공이다.

 

ㅁ 기본 사용법

# 단일 URL에 부하 테스트
siege https://example.com

 

ㅇ 기본값으로 25명의 가상 사용자가 요청을 보내는 테스트가 수행된다.

 

ㅁ 옵션 정리

옵션 설명
-c 동시 사용자 수 지정
-r  반복 횟수 지정
-t 테스트 지속 시간 지정
-f URL 목록 파일 지정
--benchmark 가장 빠른 속도로 무차별 요청
-b 브라우저 대기시간 없이 요청

 

# 사용자 수, 지속 시간 지정
siege -c 1 -t 1M https://example.com

ㅇ -c 50: 50명의 가상 사용자 동시 접속
ㅇ -t 1M: 1분 동안 테스트 진행 (1S, 1M, 1H 가능)

 

# 반복 횟수로 테스트
siege -c 20 -r 10 https://example.com

ㅇ -r 10: 각 사용자가 10번씩 요청 (총 200회 요청)

 

ㅁ 다중 URL 테스트 (URLs 파일)

여러 URL을 동시에 테스트하고 싶을 땐 파일을 만들어서 사용한다.

https://example.com/
https://example.com/about
https://example.com/contact

ㅇ urls.txt을 생성한다.

 

siege -c 30 -t 2M -f urls.txt

ㅇ -f 옵션으로 파일 경로를 지정하면, 파일에 있는 URL들을 무작위로 요청한다.

 

ㅁ 테스트 결과 예시

Transactions: 1200 hits
Availability: 100.00 %
Elapsed time: 59.34 secs
Data transferred: 15.23 MB
Response time: 0.45 secs
Transaction rate: 20.22 trans/sec
Throughput: 0.26 MB/sec
Concurrency: 8.97
Successful transactions: 1200
Failed transactions: 0
Longest transaction: 1.23
Shortest transaction: 0.12

 

ㅇ 각 항목에 대한 간단한 설명하면,
 - Transactions: 총 요청 수
 - Availability: 성공 비율
 - Elapsed time: 테스트 수행 시간
 - Response time: 평균 응답 시간
 - Throughput: 초당 전송량
 - Failed transactions: 실패한 요청 수

 

ㅁ 마무리

 siege는 간단한 명령어만으로도 강력한 부하 테스트를 할 수 있는 도구이다.
개발 중인 웹 서버의 안정성을 체크하거나, 성능 개선 전후 비교에도 요긴하게 활용할 수 있다.

반응형
Comments