Siege를 설치 및 사용하는 방법
Siege는 웹 사이트 및 웹 애플리케이션의 성능 및 부하 테스트를 수행하는 데 사용되는 명령 줄 도구입니다. 이를 사용하여 다양한 웹 사이트 또는 웹 애플리케이션의 부하 테스트를 수행할 수 있습니다.
이번에는 Siege의 설치 방법과 사용 방법을 설명하겠습니다.
Siege 설치 방법
- MacOS
brew install siege
- Debian
apt-get update
sudo apt-get install -y siege
- RedHat
yum install -y epel-release
sudo yum install -y siege
Siege 사용 방법
기본 사용법
siege -c [concurrent users] -t [time in seconds] [url]
위 명령에서 -c 옵션은 동시 사용자 수를 설정하고 -r 옵션은 요청을 반복하는 횟수를 설정합니다. [URL]은 부하 테스트를 수행할 웹 사이트나 애플리케이션의 URL입니다.
- 옵션: Siege의 다양한 옵션을 지정할 수 있으며, 아래에서 주요 옵션을 설명합니다.
- URL: 테스트할 웹 서버의 URL을 지정합니다.
주요 옵션
- -c, --concurrent=X: 동시에 실행할 사용자 수를 지정합니다.
- -r, --reps=X: 각 사용자의 반복 횟수를 지정합니다.
- -t, --time=X: 테스트를 지정된 시간(초) 동안 실행합니다.
- -d, --delay=X: 각 요청 간의 지연 시간을 설정합니다 (초).
- -v, --verbose: 자세한 출력을 활성화합니다.
- -q, --quiet: 최소한의 출력으로 실행합니다.
사용 예시
1. 10명의 동시 사용자가 30초 동안 서버를 부하 테스트하고 결과를 자세하게 출력합니다.
siege -c 10 -t 30s -v http://example.com
2. 20명의 사용자가 각각 3번 요청을 보내고 각 요청 사이에 1초 지연을 가진 후 결과를 출력합니다.
siege -c 20 -r 3 -d 1s http://example.com
3. 시뮬레이션을 실행하면서 출력을 최소화합니다.
siege -c 5 -t 60s -q http://example.com
4. 10개의 동시 사용자가 5번 요청을 반복하는 부하 테스트를 수행하려면 다음과 같은 명령을 사용할 수 있습니다.
siege -c 10 -r 5 https://www.google.com
$ siege -c 10 -r 5 https://www.google.com
New configuration template added to /root/.siege
Run siege -C to view the current settings in that file
{ "transactions": 100,
"availability": 100.00,
"elapsed_time": 0.91,
"data_transferred": 12.23,
"response_time": 0.08,
"transaction_rate": 109.89,
"throughput": 13.44,
"concurrency": 9.20,
"successful_transactions": 100,
"failed_transactions": 0,
"longest_transaction": 0.17,
"shortest_transaction": 0.02
}
결과 확인
부하 테스트가 완료되면 Siege는 결과를 출력합니다. Siege는 다음과 같은 정보를 제공합니다.
- transactions: 총 요청 횟수
- availability: 성공한 요청의 비율 (100%는 모든 요청이 성공한 것을 의미)
- elapsed_time: 총 소요된 시간 (초)
- data_transferred: 전송된 데이터 양 (KB)
- response_time: 평균 응답 시간 (초)
- transaction_rate: 초당 요청 처리량 (TPS, Transactions Per Second)
- throughput: 초당 전송 데이터 양 (KB/s)
- concurrency: 동시 접속자 수
- successful_transactions: 성공한 요청 횟수
- failed_transactions: 실패한 요청 횟수
- longest_transaction: 가장 오래 걸린 요청의 처리 시간 (초)
- shortest_transaction: 가장 짧게 걸린 요청의 처리 시간 (초)
위 결과에서는 모든 요청이 성공하였으므로 availability 값이 100%입니다. transaction_rate 값은 초당 109.89개의 요청이 처리되었으며, response_time 값은 평균 0.08초로 응답이 빠른 것을 알 수 있습니다. concurrency 값은 9.20으로, 10명의 동시 사용자 중 9명은 항상 요청을 처리하는 상태였음을 의미합니다.
Siege를 사용하여 웹 서버 부하 테스트를 수행하면 서버의 성능을 평가하고 병목 현상을 식별하는 데 도움이 됩니다. 다양한 옵션을 사용하여 원하는 테스트 시나리오를 설정할 수 있으며, 결과 보고서를 통해 성능에 대한 정보를 얻을 수 있습니다.
'리눅스' 카테고리의 다른 글
ABRT(Automatic Bug Reporting Tool) 시스템에서 문제를 감지 (0) | 2023.03.24 |
---|---|
[리눅스] core 파일을 분석하는 방법 (0) | 2023.03.24 |
CentOS 7에서 Filebeat를 설치하는 방법 (0) | 2023.03.20 |
[리눅스] Ubuntu 환경에서 Elasticsearch와 Kibana를 설치하고 연동하는 방법(single node) (0) | 2023.03.20 |
ABRT(Automated Bug Reporting Tool)에 의한 문제(problem)를 감지 (0) | 2023.03.20 |