atutobenchの結果をGoogleスプレッドシートでグラフ化する
こんばんわ。引っ越し後初めての投稿となります。
これからははてな記法を覚えないといけないので、頑張らないとです。
さて、nginxの勉強をしていたらautobenchがわりと良さそうだったので使ってみました。
負荷テストをする時はJmeterを使う事が多いのですが、単純なシナリオならautobenchも良さそうに感じました。
OS Xの場合は以下のようにHomebrewで簡単にインストールする事が出来ます。
※autobenchはperlで書かれたhttperfのラッパーなので、事前にhttperfもインストールする必要があります。
$ brew install httperf $ brew install autobench
以上でインストールが完了しますので、すぐに導入が出来ます。実際には以下のように実行する事が出来ます。
$ autobench ¥ --host1 ec2-176-32-66-164.ap-northeast-1.compute.amazonaws.com ¥ --port1 8080 ¥ --uri1 /index.html ¥ --host2 ec2-176-32-66-164.ap-northeast-1.compute.amazonaws.com ¥ --port2 80 ¥ --uri2 /index.html ¥ --quiet ¥ --low_rate 10 ¥ --high_rate 30 ¥ --rate_step 10 ¥ --num_call 1 ¥ --num_conn 10 ¥ --timeout 10 ¥ --file test.tsv
使用したオプションには以下のようなものです。
--host1 | 接続先その1 |
--port1 | 接続先その1のポート番号 |
--uri1 | 接続先その1のuri |
--host2 | 接続先その2 |
--port2 | 接続先その2のポート番号 |
--uri2 | 接続先その2のuri |
--quiet | 画面にhttperfの情報を表示しない |
--low_rate | テスト開始時での1秒あたりの接続数 |
--high_rate | テスト終了時での1秒あたりの接続数 |
--rate_step | 毎回のテスト後に増やす接続数 |
--num_call | 一つの接続あたりいくつの要求を送るか(keepalive有効時みたい) |
--num_conn | 接続の総数 |
--timeout | タイムアウトと見なされるまでの秒数 |
--file | 指定された.tsvファイルに結果をエクスポートする |
autobenchは接続先を複数指定出来るのも魅力です。
作成されたtsvファイルはGoogleDocsのスプレッドシートで以下のようにファイルをインポートする事が出来ます。
ファイルがインポートされれば後はグラフ化すれば結果を一目で見る事が出来るので便利かも。