ベジタリアンテストの例を取得する簡単なチュートリアル
負荷テストとは
平文での負荷テストは、現実世界のようなシナリオでアプリケーションの動作を決定するためにいくつかの同時リクエストをシミュレートすることによってアプリケーションをテストすることを意味します.基本的に、それはどのようにアプリケーションが複数の同時ユーザーがアプリケーションを使用しようとすると応答するかをテストします.
There are many ways to load test applications/APIs and Vegeta is one of the easiest tools to perform load testing on your APIs or applications.
一度書いたことがあるfast and not so fast test , それはテストについてもっと読むための良いポストです.
必要条件
主な話題に飛び込む前に、いくつかの前提条件を見てみましょう.
選択肢と理由
負荷テストを複数の方法で行うことができますが、負荷テストのための多くの異なるsaasも.それでもなお、ローカルにインストールされたツールは、アプリケーションやAPIをロードする素晴らしい方法です.使いましたLocust 過去に.セットアップと実行は簡単で簡単にはないとしてVegeta .
もう一つのオプションはJMeter . Apache JMeterはまた、その概念を知っていると急な学習曲線を持って変換する完全に機能負荷テストツールです.
Vegeta is a go-lang binary (and library) so installing and using it is a breeze. There are not many concepts to understand and learn.
まず最初に、URLを提供し、どのように多くのリクエストを与える場合は、URLをヒットする必要があります.ベジタリアンは、周波数が提供されているURLをヒットし、簡単に理解できるグラフでHTTP応答コードと応答時間を与えることができます.
The best thing about Vegeta is there is no need to install python or Java to get started. Next, let’s install Vegeta to begin Vegeta load testing.
ベジタザインストール
ベジタリアンが定義する公式の方法を見てみましょう.
Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate. It can be used both as a command-line utility and a library.
Vestaでロードテストを開始する最も簡単な方法は、そのGithubから正しい実行可能ファイルをダウンロードすることですreleases ページ.書き込み時、現在のバージョンはV 12です.8.3 .
Linuxでインストール
64ビットのLinux上にあるならば、以下のコマンドを使ってVegaを作ることができます.
cd ~/downloads
wget https://github.com/tsenart/vegeta/releases/download/v12.8.3/vegeta-12.8.3-linux-amd64.tar.gz
tar -zxvf vegeta-12.8.3-linux-amd64.tar.gz chmod +x vegeta ./vegeta --version
任意のパスからベジタザを実行したい場合は、LN - S ~/Download/Vessa ~/bin/Vegigaのようなコマンドを実行するパスにシンボリックリンクを追加することができます.Macでインストール
また、次のコマンドを使用してMac上でベジタザをインストールすることができます.
brew update && brew install vegeta
すでにあなたのマシンとgobinにあなたのパスにインストールされたLang Langを持っているならば、あなたはあなたのベジタリアンテスト旅行を始めることを試みることができます:go get -u github.com/tsenart/vegeta
正しくインストールされているかどうかを調べます.vegeta --version
表示されるバージョン番号が表示されます.負荷テストコマンド
ベジタロードテストツールを使用するには複数の方法があります.高速分析のためのコマンドラインで出力を取得する最も簡単な方法の一つです.最初のベジタリアンテストコマンドを実行するには、次のコマンドを実行します.
echo "GET http://httpbin.org/get" | vegeta attack -duration=5s -rate=5 | vegeta report --type=text
それで、ちょうどここで起こったこと?Vegassaロードテストツールは、5つのRPSで5秒以上広がる25の要求の攻撃を走らせました.最小応答時間は240 ms,最大値は100 %成功率510 msであった.これはすべてのリクエストが200として戻ったことを意味します.さらに、よりグラフィカルな出力を見る方法を見てみましょう.
グラフィカル出力を用いた負荷試験
ベジタロードテスト結果の別の表現は、グラフを理解しやすいです.以下のコマンドでグラフ出力を得ることができます.
cd && echo "GET http://httpbin.org/get" | vegeta attack -duration=30s -rate=10 -output=results-veg-httpbin-get.bin && cat results-veg-httpbin-get.bin | vegeta plot --title="HTTP Bin GET 10 rps for 30 seconds" > http-bin-get-10rps-30seconds.html
負荷試験のために野菜をどのように使うか分析してみようhttpbin.org こちらそれで、我々は300の要求を送りました、そして、それらのすべては200で戻ってきました.最速応答時間の1つは234ミリ秒であった.これにより、HTTP Binが簡単に30秒で10リクエストを扱うことができます.
I would advise you to not try it many times, HTTPBin.org might block your IP thinking you are DDOSing their system.
一般的に、独自のサービスをテストするためのベジタザを使用する方法のアイデアを得る.
私のサービスは認証トークンを使います
さて、すべてのサービスはすべてに開くことはありません、大部分はJWT または他の方法を認証し、ユーザーを承認する.このようなサービスをテストするには、以下のコマンドを使用できます.
cd && echo "GET http://httpbin.org/get" | vegeta attack -header "authorization: Bearer <your-token-here>" -duration=40s -rate=10 -output=results-veg-token.bin && cat results-veg-token.bin | vegeta plot --title="HTTP Get with token" > http-get-token.html
この例では、上記のパターンと同じパターンを使用していますが、ここでの主な相違点は、ベジタロードテストのために使用されるVegiga攻撃コマンドのヘッダーパームの使用です.If you want to test an HTTP POST with a custom body please refer to the Vegeta docs. It is best to test the GET APIs to know the load unless you have a write-heavy application/API.
どのようにテストロード複数のURLですか?
異なるHTTPメソッドによる複数のURLをテストすることも比較的簡単です.以下の例を見てみましょう.
GET http://httpbin.org/get
GET [http://httpbin.org/ip](http://httpbin.org/ip)
我々がベジタザで複数のURLでロードテストをするのを見たので、微風です.Vegassa負荷テストを簡単にポストやプットのような他のHTTP動詞を行うことができます.ベジタリアンを参照docs .
結論
このポストは、ベジタザでロードテストにプライマーで表面をひっかいているようでした.ベジタロードテストを行うことができる多くの高度なものがあります.ベジタリアンは非常に複数の機会に便利です.私はかつて、Google Cloud機能とGoogle Cloud Runを同じコードでロードするために、菜食主義者を使用しましたtalk . 両方のサービスを比較するグラフは、違いの結晶をクリアしました.
あなたが生産に行きたいアプリケーションまたはAPIをロードするテストは重要です.
We once had to open up an API to a much higher load than it would normally get. Our load testing with Vegeta really helped us determine the resources and level of horizontal scaling the API would need to work without any issues.
ベジタザのおかげで、別のツールやサービスを使用するよりもはるかに簡単だった.ハッピーロードとストレステスト!
Reference
この問題について(ベジタリアンテストの例を取得する簡単なチュートリアル), 我々は、より多くの情報をここで見つけました https://dev.to/geshan/vegeta-load-testing-a-quick-tutorial-with-get-examples-1dnbテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol