以前まで、負荷試験ツールで apachebench を触っていましたが、apachebench だと、httpステータスコードが 200 か 200 以外かの判定しか出来なく、301リダイレクトした先の事はわからない為、別のツールを探していたところチームの先輩に勧められて使ってみました。
vegeta ってドラゴンボールのベジータと同じだなと思っていたのですが、リポジトリにまんまベジータの画像が貼ってあったので、これは・・・と思いました。
vegeta は301リダイレクト先のステータスコードを拾ってくれるので、ユーザー目線での検証が可能です。また、リダイレクトする前の検証がしたい場合でも、オプションを指定すれば301リダイレクト前までの検証が可能です。(コマンドは下に記載)
見出し
Vegetaのコマンド等
vegeta をインストールする
Macの場合 go環境あり
1 |
brew install vegeta |
GitHubからの場合 go環境あり
1 |
git clone https://github.com/chidakiyo/vegeta |
Go環境からの場合
1 2 3 |
sudo yum install go sudo yum install git go get -u github.com/tsenart/vegeta |
実行(アタック)&レポート
- 秒間50件を10秒間継続させる場合
1 |
echo "GET http://example.com" | vegeta attack -rate=50 -duration=10s | tee results.bin | vegeta report |
- リダイレクト前までの検証の場合
1 |
echo "GET http://example.com" | vegeta attack -redirects -1 -rate=50 -duration=10s | tee results.bin | vegeta report |
グラフ化(プロット)
1 |
cat results.bin | vegeta plot > plot.html |
レポート分析
それぞれ何秒で終わっているか分布を確認できます。
1 |
cat results.bin | vegeta report -type="hist[0,100ms,200ms,300ms]" |
Vegetaを使ってみて
もろにベジータ画像使っているあたり長生きしないのではという感じがしましたが、シンプルな使いやすい良いツールだという事がわかりました。使い方はリポジトリにあります。英語ですが他に細かく書いてあるサイトもなかったので(バージョンが古かったり)公式ドキュメントとして優先的に読んだ方が良いと思います。