読者です 読者をやめる 読者になる 読者になる

okochangの馬鹿でありがとう

ふらふら適当に世間を生きる日々でございます

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のスプレッドシートで以下のようにファイルをインポートする事が出来ます。
f:id:okochang:20120120005347p:plain

f:id:okochang:20120120005358p:plain
ファイルがインポートされれば後はグラフ化すれば結果を一目で見る事が出来るので便利かも。
f:id:okochang:20120120005430p:plain

参考サイト
http://kimoota.blog.shinobi.jp/Entry/44/