I.はじめに
ストレステストは、すべてのWebアプリケーションがオンラインになる前に実行する必要があるテストです。これは、システムのボトルネックを見つけ、本番環境に公開した後の問題の可能性を減らすのに役立ちます。システムの伝送容量を見積もり、次のことができるようにします。フォローいくつかの対策を講じました。したがって、ストレステストは非常に重要なステップです。ストレステストツールであるJMeterを使用してみましょう。
2.JMeterについて
Apache JMeterは、Apache組織によって開発されたJavaベースのストレステストツールです。ソフトウェアのストレステストに使用されます。元々はWebアプリケーションのテスト用に設計されましたが、後に他のテスト領域に拡張されました。静的ファイル、Javaサーブレット、CGIスクリプト、Javaオブジェクト、データベース、FTPサーバーなどの静的および動的リソースをテストするために使用できます。JMeterを使用して、サーバー、ネットワーク、またはオブジェクトへの巨大な負荷をシミュレートし、さまざまなストレスカテゴリでそれらの強度をテストし、全体的なパフォーマンスを分析できます。さらに、JMeterは、プログラムが期待する結果を返すことを確認するためのアサーションを含むスクリプトを作成することにより、アプリケーションで機能/回帰テストを実行できます。最大限の柔軟性を実現するために、JMeterでは正規表現を使用してアサーションを作成できます。
Apache jmeterを使用して、静的および動的リソース(ファイル、サーブレット、Perlスクリプト、Javaオブジェクト、データベースとクエリ、FTPサーバーなど)のパフォーマンスをテストできます。サーバー、ネットワーク、またはオブジェクトの重い負荷をシミュレートして、それらの強度をテストしたり、さまざまな圧力タイプでの全体的なパフォーマンスを分析したりするために使用できます。これを使用して、パフォーマンスのグラフィカル分析を実行したり、大きな同時負荷の下でサーバー/スクリプト/オブジェクトをテストしたりできます。
公式ウェブサイト:http://jmeter.apache.org/download_jmeter.cgi
3.JMeterのインストール
1.JDKをインストールして構成します1.jdkを
ダウンロードしてインストールします
。アドレス:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2. JDK環境変数を構成します:コンピューターのプロパティを右クリックします->詳細システム設定->システムプロパティ->詳細設定->環境変数->次のシステム変数を追加します
変数名:[JAVA_HOME]
変数値:[D:\ Program Files \ Java \ jdk1.8.0_92] [jdkインストールパス]
変数名:[パス]
変数値:[\;%JAVA_HOME%\ bin;]
変数名:[CLASSPATH]
変数値:[。;%JAVA_HOME%\ lib \ dt.jar;%JAVA_HOME%\ lib \ tools.jar;] [。リークできません]
3.JDKを確認します。cmd-> input java -version-> display the java versionを実行して、jdkのインストールが成功したことを示します。
2.jmeterをインストールして構成します1.Jmeter
インストールパッケージをダウンロードして解凍します。公式Webサイトアドレス:http://jmeter.apache.org/download_jmeter.cgi
2. Jmeter環境変数を構成します:Jmeterシステム環境変数
変数名を次のように構成します。次の変数名と変数値:[JMETER_HOME]
変数値:[D:\ Program Files \ jmeter \ apache-jmeter-3.0](実際のjmeter解凍パスに従って入力します)
変数名:[CLASSPATH]
変数量值:%JMETER_HOME \ lib \ ext \ ApacheJMeter_core.jar;%JMETER_HOME%\ lib \ jorphan.jar;%JMETER_HOME%\ lib \ logkit-2.0.jar;
3. Jmeterを起動します。Jmeter解凍パス(apache-jmeter-3.0 \ bin)のbinの下にあるjmeter.batをダブルクリックします。
jmeter.batを起動して、jarファイルにアクセスできないエラーレポートを実行します。apachejmeter.jarエラー値= 15
理由:公式ウェブサイトからダウンロードしたapache-jmeter-3.2_src.zipにより、実行中にエラーが発生しました。
解決策:ダウンロードする必要があるのはapache-jmeter-3.2.zipです
起動後、cmdウィンドウとJMeterGUIの2つのウィンドウが表示されます。フロントメッセージCMDウィンドウを無視しないでください:
JMeter:
CMDウィンドウのプロンプトメッセージ
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use NON GUI Mode:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
上記の意味:GUIを使用してストレステストを実行しないでください。GUIはストレステストの作成とデバッグにのみ使用されます。GUIを使用してストレステストを実行しないでください。次のコマンドを使用して、テストを実行します。
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
そして、JMeterバッチファイルの環境変数を変更します。HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"
言語を中国語に変更する
公式のデフォルトでは、簡体字中国語が提供されます。[オプション]-> [言語の選択]から簡体字中国語に変更します
4.テストを作成します
1.スレッドグループを作成します
「テスト計画」を右クリックします[追加]-> [スレッド(ユーザー)]-> [スレッドグループ]。
スレッド数とループ数を設定します。ここではスレッド数を500に設定し、1回ループします。
2.構成コンポーネント
作成したスレッドグループを右クリックします[追加]-> [構成コンポーネント]-> [HTTPリクエストのデフォルト値]。
テストする必要のあるプログラムのプロトコル、アドレス、およびポートを構成します
すべてのインターフェーステストのアクセスドメイン名とポートが同じである場合、このコンポーネントを使用できます。サーバーアドレスを変更したら、要求のデフォルト値のみを変更する必要があります。
3.HTTPリクエストを作成します
[スレッドグループ] [追加-]-> [samlper]-> [HTTPリクエスト]を右クリックして、テストする必要のあるAPIのリクエストパスとデータを設定します。ここでjsonを使用しています
4.HTTPリクエストヘッダーを追加します
作成したスレッドグループを右クリックします[追加]-> [構成コンポーネント]-> [HTTPヘッダーマネージャー]。
送信したいデータはjsonなので、1つ設定してください Content-Type:application/json
5.アサーションを追加します
作成したスレッドグループを右クリックします[追加]-> [アサーション]-> [アサーションへの応答]。
応答データに基づいて、要求が正常であるかどうかを判別します。ここでは、応答コードが200かどうかだけを判断します。エラーメッセージを設定することもできます
6.表示結果ツリーを追加します
作成したスレッドグループを右クリックします[追加]-> [リスナー]-> [結果ツリーの表示]。
直接追加し、运行
ボタンをクリックして結果を確認します。
7.要約レポートを追加します
作成したスレッドグループを右クリックします[追加]-> [リスナー]-> [概要レポート]。
直接追加し、运行
ボタンをクリックして結果を確認します。
不必要な論争を引き起こさないために、TPSは隠されています。このデータには価値がなく、記事のデモンストレーションのみを目的としています。
8.テスト計画が作成されます
保存することを忘れないでください。
V.テスト計画の実行
前に述べたように、GUIを使用してテスト計画を実行することはできず、実行するにはコマンドラインが必要です。
ここで実行したコマンドは次のとおりです。
jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport
説明:
testplan/RedisLock.jmx
テスト計画ファイルtestplan/result/result.txt
のパスtestplan/webreport
は、Webレポートを保存するためのパスとしてのテスト結果ファイルのパスです。
Webレポートは次のとおりです。
転載元:https://www.cnblogs.com/stulzq/p/8971531.html