Siege は、高負荷な同時アクセスの下で Web サーバーの耐性と処理性能を計測する 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: 1秒あたりの処理リクエスト数 (RPS / スループット)。
- Throughput: 1秒あたりに転送されたペイロード容量 (MB/s)。
- Concurrency: 平均アクティブ同時接続数。