VegetaというGo製の負荷試験ツールを使ってみた

VegetaというGo製の負荷試験ツールを使ってみた

以前まで、負荷試験ツールで apachebench を触っていましたが、apachebench だと、httpステータスコードが 200 か 200 以外かの判定しか出来なく、301リダイレクトした先の事はわからない為、別のツールを探していたところチームの先輩に勧められて使ってみました。

vegeta ってドラゴンボールのベジータと同じだなと思っていたのですが、リポジトリにまんまベジータの画像が貼ってあったので、これは・・・と思いました。

vegeta は301リダイレクト先のステータスコードを拾ってくれるので、ユーザー目線での検証が可能です。また、リダイレクトする前の検証がしたい場合でも、オプションを指定すれば301リダイレクト前までの検証が可能です。(コマンドは下に記載)

Vegetaのコマンド等

vegeta をインストールする

Macの場合 go環境あり

brew install vegeta

GitHubからの場合 go環境あり

git clone https://github.com/chidakiyo/vegeta

Go環境からの場合

sudo yum install go
sudo yum install git
go get -u github.com/tsenart/vegeta

実行(アタック)&レポート

  • 秒間50件を10秒間継続させる場合
echo "GET http://example.com" | vegeta attack -rate=50 -duration=10s | tee results.bin | vegeta report
  • リダイレクト前までの検証の場合
echo "GET http://example.com" | vegeta attack -redirects -1 -rate=50 -duration=10s | tee results.bin | vegeta report

グラフ化(プロット)

cat results.bin | vegeta plot > plot.html

レポート分析

それぞれ何秒で終わっているか分布を確認できます。

cat results.bin | vegeta report -type="hist[0,100ms,200ms,300ms]"

Vegetaを使ってみて

もろにベジータ画像使っているあたり長生きしないのではという感じがしましたが、シンプルな使いやすい良いツールだという事がわかりました。使い方はリポジトリにあります。英語ですが他に細かく書いてあるサイトもなかったので(バージョンが古かったり)公式ドキュメントとして優先的に読んだ方が良いと思います。

リポジトリ

https://github.com/tsenart/vegeta

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です