私はJMeterツールが初めてです。 JMeterのレポートを分析するための最良の方法について、誰でも助けてくれますか?
役立つ可能性のある関連リンクの単純なリスト:
ネイティブグラフ:
自動化されたグラフのための無料のオープンソースソリューション:
カスタム開発のレシピ:
サードパーティのソリューション:
パフォーマンステストを実行する際に必要な3つのテストがあり、常にベースライン、ピークテスト、ストレステストがあるはずです。これらのテストは、リトルの法則により互いに関連しています。 安定したシステムの顧客の長期平均数Lは、長期平均実効到着率λに顧客がシステムで費やした時間Wを掛けた値に等しいか、代数的に表されます:L = λW。 。
Jmeterはすでにこの値をチェックする手段を提供しています。 標準プラグイン は、応答時間、ヒット、スループットのプロットを提供します。システム上でアクティブだったユーザーの数を直接知る方法はありません。アクティブユーザーと同じ同時ユーザーではありません。プラグインはレポートを生成するのに十分ですが、プレゼンテーションの多くを制御することはできません。Pythonを使用して生成されたいくつかのプロットを使用します(ラベルを追加し、2つのy軸を持ちます)。
ベースラインテスト:このケースは法律の特別なケースです。この場合、アクティブユーザーは一定であり、1です。
アプリケーションが同じコードを実行する場合、応答時間は時間とともに安定し、到着率も時間に対して一定になります。
しばらく待つこと以外に何もしないサービスがあります:
2秒サービス:到着率は1/2TPSでした。
3秒サービス:到着率は1/3TPSでした。
ピークテスト:これは特別な場合ではなく、この場合、システムスループットを超えるまで負荷が増加します。負荷は応答時間のスループットよりも大きいためです。増加する。テスト中、スレッド数は、長い応答時間から回復するのに十分な速さで増加するはずです。
今回は、ピークを実行する代わりに、テスト全体で処理できるよりも多くの負荷でシステムにストレスをかけます。サービスのスループットを制御するには:
アクティブなトランザクションとは、インジェクターを離れたが応答を受け取らなかったトランザクションです。これらは、システムのどこかでキューに入れられているトランザクションです。
アクティブユーザーと同様に応答時間が長くなるため、インジェクターは新しい接続が必要になるとすぐに新しいスレッドを作成する必要があり、プールスレッドのほとんどはビジーになります。
2TPS到着率、1 TPSスループット:
4TPS到着率、1 TPSスループット:
6TPS到着率、5 TPSスループット:
バージョン3.0以降、JMeterには、負荷テストの終了時または結果ファイルから生成できる動的HTMLレポートが含まれています。
generated-dashboard を参照してください
JMeterレポートを分析する場合は、単純なWordで...
サーバーのCPUとRAM使用率。サーバーでパフォーマンステストを実行するとき、現在のテストで使用されるCPUとRAMの量を確認します。
ホストされたサイトサーバーで次のコマンドを発行します。 CPU使用率のログファイルが作成されます。
while true; do
( echo "%CPU %MEM ARGS $(date)" &&
ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 |
tail ) >> ps.log
sleep 1
done
全体の応答時間を確認してください。予想される応答時間の基準を超えないようにしてください。下の画像をご覧ください。私の予想では、応答時間は525マイクロ秒を超えてはなりませんが、一部の要求はそれを超えています。時間のかかるこれらの種類のリクエストを見つけてください。
全体の応答時間:
1秒あたりのトランザクション、1秒あたりのトランザクション数、およびテスト時間枠の低下を参照してください。
サマリーレポート、平均時間、および最大時間を調べて、最も時間がかかっているリクエストを確認します。現在、JMeterでは多くのリスナーがアドオンまたはビルトインとして利用できますが、これらは何が起こっているかを適切に推測できるようにするための主要なものです。そして、そのような他のレポートを使用できます。
詳細については私のブログをフォローしてください https://softwaretesterfriend.blogspot.in/
JMeterの結果を分析するには、次を使用できます。
他のすべての答えに加えて、テスト結果ファイル(.jtl)をアップロードできるBlazeMeterのニースサイトがあり、あらゆる種類の(インタラクティブ)レポートを生成します。それもあなたのためにそれを分析し、最初のエラーがいつ起こるか、飽和点は何かなどを指摘します。 https://sense.blazemeter.com/gui/
グラファイト/グラフィナインフラストラクチャがある場合は、プロジェクトにバックエンドリスナーを追加することをお勧めします。リアルタイムメトリックをグラファイトサーバーに送信し、グラファイト(またはgrafana)でテストを監視できます。