| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- SRE
- aws
- Java
- kotlin coroutine
- Pinpoint
- CloudWatch
- PETERICA
- 오블완
- 정보처리기사 실기 기출문제
- Linux
- kotlin
- Kubernetes
- MySQL
- Rag
- minikube
- 공부
- LLM
- AI
- CKA 기출문제
- tucker의 go 언어 프로그래밍
- golang
- Spring
- 티스토리챌린지
- go
- 코틀린 코루틴의 정석
- CKA
- AWS EKS
- APM
- 바이브코딩
- 기록으로 실력을 쌓자
- Today
- Total
피터의 개발이야기
웹 서버 부하 테스트 도구, siege 사용법 정리 본문
ㅁ 들어가며
ㅇ 웹 서비스를 운영하거나 개발할 때, 서버가 어느 정도의 트래픽을 견딜 수 있는지를 테스트해보고 싶을 때가 있다. 이럴 때 유용하게 사용할 수 있는 도구 중 하나가 바로 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는 간단한 명령어만으로도 강력한 부하 테스트를 할 수 있는 도구이다.
개발 중인 웹 서버의 안정성을 체크하거나, 성능 개선 전후 비교에도 요긴하게 활용할 수 있다.
'개발이야기' 카테고리의 다른 글
| 맥북프로 잠자기 활성화/비활성화 방법 (0) | 2026.01.15 |
|---|---|
| [IT 하자] 질문이 이끄는 공부: 스스로 계획하고 실천하는 스터디 방식 (2) | 2025.09.20 |
| 문서 기반 개발(Documentation-Driven Development, DDD)란? (3) | 2025.06.19 |
| 🧭 고충처리위원, 조직을 변화시키는 조용한 리더 (2) | 2025.06.18 |
| 맥에서 파일 공유 활성방법 (7) | 2025.04.14 |