インストール
sudo yum -y update
sudo yum install gcc make openssl-devel
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar zxvf ./siege-latest.tar.gz
rm -f siege-latest.tar.gz
cd siege-3.1.2/
./configure && make
sudo make install
cp doc/siegerc ~/.siegerc
実行
urls.txtからランダムにURLを抽出して、10秒間300同時接続でアクセスをする
siege -c 300 -t 10S -b -i --log=/tmp/siege.log -f /usr/local/etc/urls.txt
sample.jp に対して、同時ユーザー数は30でリクエスト数5で10秒間の連続負荷を掛けたい
siege -c 30 -r 5 --time=10S --log=/tmp/siege.log http://sample.jp
fileから読み込み
urls.txt
https://sample.jp
https://sample.jp/search/tag
https://sample.jp/id/test
実行オプション
オプション | 意味 |
---|---|
-V, –version | バージョン表示 |
-h, –help | ヘルプ表示 |
-C, –config | コンフィグファイルを指定 |
-v, –verbose | アクセスの状態を標準出力に表示 |
-q, –quiet | verboseをオフにしてテスト出力を抑制 |
-g, –get | HTTP リクエストの GET メソッドを利用して、HTTP ヘッダを取得してトランザクションを表示する |
-c, –concurrent=NUM | 同時接続ユーザーを指定でデフォルトは10 |
-i, –internet | INTERNET ユーザーモードで URL のリストからランダムにアクセスする |
-b, –benchmark | ベンチマークモードでリクエスト間隔を置かない(デフォルトは 1 秒間のリクエスト間隔を置く) |
-t, –time=NUMm | テストの時間を指定(S = 秒、M = 分、H = 時間) |
-r, –reps=NUM | テストにおける毎秒のリクエスト数 |
-f, –file=FILE | URL のリストファイルを指定 |
-R, –rc=FILE | siegerc ファイルを指定(デフォルトは ~/.siegerc) |
-l, –log[=FILE] | ログファイルのパスを指定する(指定が無い場合には PREFIX/var/siege.log) |
-m, –mark=”text” | ログファイル内にマーキング(区切り)文字を入れることが出来る |
-d, –delay=NUM | リクエスト間の間隔を指定(デフォルトは 1 秒) |
-H, –header=”text” | リクエストヘッダを付与することが出来る |
-A, –user-agent=”text” | User-Agent の指定 |
-T, –content-type=”text” | Content-Type の指定も可能 |
実行結果の見方
項目 | 意味 | 出力例 |
---|---|---|
Transactions | リクエスト数 | 506 hits |
Availability | 成功率 | 100.00 % |
Elapsed time | 処理時間 | 9.51 secs |
Data transferred | 転送量 | 0.13 MB |
Response time | 平均のレスポンス時間 | 0.01 secs |
Transaction rate | 毎秒のリクエスト数 | 53.21 trans/sec |
Throughput | スループット | 0.01 MB/sec |
Concurrency | 平均の同時接続数 | 0.48 |
Successful transactions | 成功したリクエスト数 | 506 |
Failed transactions | 失敗したリクエスト数 | 0 |
Longest transaction | 1リクエスト当たりの最長秒数 | 0.02 |
Shortest transactio | 1リクエスト当たりの最短秒数 | 0.00 |