HTTP負荷テストツールVegetaを使ってベンチマークを取得する

Published: 2018年3月25日 by tomsato

■ 概要

一般的にHTTP負荷テストを行う場合はabかhttp_loadを使うが
Vegetaという個性的なツールがあったのでそれの使用感を紹介する

Apache Bench(ab)を使って初めての負荷検証を行う

■ 導入方法

vegetaコマンドを取得する

$ curl -L "https://github.com/tsenart/vegeta/releases/download/v6.3.0/vegeta-v6.3.0-linux-amd64.tar.gz" -o vegeta.tgz
$ tar xvfa vegeta.tgz

// vegetaコマンドが用意できたことを確認する
$ ls -l vegeta
-rwxr-xr-x 1 tomsato tomsato 7599845 Mar 19  2017 vegeta

■ 使い方

項目 説明
rate 秒間リクエスト数
duration どのくらいの時間実施するか
targets URLやカスタムヘッダーを記述したファイルを指定して攻撃することができる
// 負荷検証を行いたいURLを記述する
$ cat sample.txt
GET http://XXXX/

// 毎秒3リクエストを5秒間行う
$ ./vegeta attack -rate=3 -duration=5s -targets=sample.txt > results.txt

// 実行した結果を出力する
$ ./vegeta report -inputs=results.txt -reporter=text
Requests      [total, rate]            15, 3.21
Duration      [total, attack, wait]    4.893351559s, 4.66666638s, 226.685179ms
Latencies     [mean, 50, 95, 99, max]  235.842229ms, 229.4182ms, 236.257385ms, 236.257385ms, 309.264321ms
Bytes In      [total, mean]            864502, 57633.47
Bytes Out     [total, mean]            0, 0.00
Success       [ratio]                  100.00%
Status Codes  [code:count]             200:15
Error Set:

出力を見ればわかるように、成功率や総リクエスト数、レスポンス時間の平均やStatus Codeがわかったりもできる

またplotの出力ができるので、グラフィカルに結果を見ることができる

$ ./vegeta report -inputs=results.txt -reporter=plot > plot.html

作成されたplot.htmlをブラウザで確認すると以下のようなグラフが見れる

Vegeta

Share

最近の投稿

概要はじめに2019年4月から新しいチームに配属されることになって、そこではScalaとPHPを使い分けて開発をおこなっていました4月5月では主に保守運用周り、並びにPHPでの開発を行いつつ、Scalaに慣れるために小さい修正を細々とおこなっていて、6月からついに本格的にScala開発に着手することになりました。レガシーな技術から新しい技術に乗り換えるということで、その中で開発言語はどうする......

概要https://storybook.js.org/StorybookとはUI開発環境を提供するツールReact、React Native、Angular、VueなどをサポートしているStorybookを使うとユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする公式のサンプル集h......

概要フロントエンド開発における状態管理、データフローがなんで重要なのか、Fluxとは何かなど主にVue.js目線ですが忘備録的にまとめますデータフローの設計・状態管理についてアプリケーションの規模が大きくなるに連れて状態管理が重要となってくる状態とはアプリケーションが保持するデータのことで例えばECサイトのカートなど、最初は空の状態から始まり商品をカートに入れることによってカートの中身が増え......

概要前にDoxygenの入門についてまとめたが実際にサンプルを見た方が理解が早いかと思うのでサンプルを作ってみる Doxygen入門の入門 ↑前に書いた記事、そっちでは Doxygenについての簡単な説明 導入方法 書き方などを書いた今回は、まずサンプルを見て理解をしたい人向けにサンプルのアプリケーションをGitHubに用意して、ドキュメントもGitHub Pagesで見ら......

概要1クリックでHTML要素の構造を可視化し、セマンティック要素が正しく実装されているか検証できる -Trashy.cssというのがあって気になったので使ってみるTrashy.cssを使うとHTMLの構造が可視化されるのでheader,nav,main,article,selction,footerなどの要素が正しく実装されているかを確認することができる{% include google-a......

カテゴリ一覧

タグ一覧

MySQL Oracle Linux 資格 テスト CI Jenkins 入門の入門 Perl API その他 Fabric PHP PHPUnit Ruby JavaScript YAML CircleCI C言語 Docker フレームワーク Selenium Fluentd ab Vim React Vagrant Cinnamon 監視ツール postfix HTML Google Cloud Platform Codeception Watson Node-RED LINE Vue.js 入門の次 PCF Vegeta Azure Firebase モジロイ Sass クリーンアーキテクチャ CSS twitter Flexbox 筋トレ ドキュメント Vue Scala