性能テスト-Jmeter 3.1使用テクニック
5021 ワード
一、JMeter公式サイト
ダウンロードhttp://jmeter.apache.org/download_jmeter.cgi
Jmeter wikihttps://wiki.apache.org/jmeter
二、概念
ElapspedTimeの消費時間は、ResonseTime/SampleTimeと一致し、応答受信完了までの開始要求の時間を表している。
Latency遅延時間は、開始要求が受信応答を準備するまでの時間のみを含む。
90%のLineの時間測定指標は、90%の要求がこの応答時間内に完了することを示している。
Throughputスループットとは、毎秒処理される要求数をいう。公式:Throughput=(number of requests)/(total time)
スループットと応答時間/併発数の関係:TPS=U_concurrent/(Ttusponse+T_think)の中でT_thinkはユーザ思考時間です。
ThreadGroupスレッドグループは、同時要求のコンポーネントを制御するために使用される。パラメータを設定スレッド数、同時進行数を制御する rame-up周期、スレッドの柔軟な成長周期、例えば100スレッドの成長周期は10 sである。1 sは10スレッドを追加する 。固定要求数 循環実行設定は、開始時間と終了時間を指定することができます。
SummaryReport統合報告書、結果指標は以下を含む。
属性
説明
label
各サンプルの名前
samples
テスト要求の総数量
average
平均応答時間
メディアン
50%ユーザの応答時間
90%ライン
90%ユーザの応答時間
min
最小応答時間
max
最大応答時間
error%
エラー発生率
recv KB/s
毎秒受信データ量
throughput
スループット(TPS)
三、起動停止
GUI起動
propertiesファイル
Jmeterの主な配置ファイル jmeter.propertiesは、jmeter実行のキー構成を定義する。 system.propertiesは、Javaプロセスのシステム変数を定義し、System.get Properties()を通じて照会できます。 user.properties、カスタムプロファイルは、jmeter.properties をカバーすることができます。
コマンドライン起動
-JローカルJMeter変数-D指定Javaシステム変数-G指定グローバルJMeter変数は、リモートテストでテストノードに転送されます。
サンプル
引用の仕方
試験計画では、関数によって変数を参照することができます。は、jmeterを遠隔ノードに配置し、server を起動する。は、リモートノード をローカルに構成する。
user.propertiesを変更:コマンドライン実行 リモートノードを構成した後、GUIクライアントを通じて直接テストを実行することができますが、自動化されたシーンではコマンドライン方式で実行する必要があります。
jtlファイルJmeterはテストを実行した後、jtl/csv/xmlの結果ファイルを生成し、結果モニターに出力パスを追加することで得られます。コマンドラインで直接出力することもできます。直接レポートを生成する は、jtlファイルから を変換する。
user.propertiesを変更:
七、性能モニタ
Perfmonプラグインを使用して、プラグインの住所配置ServerAgentは、ターゲットサーバにServerAgentをアップロードし、startAgent.sh起動を実行する。デフォルトでは4444が起動します。スタートポートを変更できます。 Jmeterスクリプトファイルを編集し、Perfmonモニタを追加します。監視データをjtlファイルに出力して後続の分析に使う設定ができます。 自動的に画像を生成するには、JMeterPluginsCMDプラグインを介してアドレスコマンドラインをダウンロードして実行する必要があります。
Step ping ThreadGroup
プラグインアドレスJmeterのThreadGroupはスレッドを均等に増やすだけで、より現実的な圧力シーンをシミュレートできません。
プラグインは、より柔軟な同時圧力制御をサポートします。
プラグインアドレスは、応答時間、スループットレポートを組み合わせており、他のプラグインに依存する必要があります。
サーバの限界性能を観察する際に有用であり、要求頻度の指定を考慮して、同時数の大きさを測定するために用いることができる。通常、同時数がシステムの耐能力を超えると、TPSは明らかに下降し、応答時間は持続的に上昇する。
九、参考資料
GitBook-Jmeter参考https://aimer1124.gitbooks.io/jmeter-tutorial/
yukinamiのブログhttp://yukinami.github.io/2015/11/26/性能テストマニュアル/
Jmeter論理コントローラ(よくまとめられた文章)http://www.guru99.com/controllers-in-jmeter.html
Jmeter VS LoadRunnerhttp://www.cnblogs.com/shuiyelifang/p/5749523.html
TPS/応答時間/併発数の研究http://blog.csdn.net/wind19/article/details/8600083
ダウンロードhttp://jmeter.apache.org/download_jmeter.cgi
Jmeter wikihttps://wiki.apache.org/jmeter
二、概念
ElapspedTimeの消費時間は、ResonseTime/SampleTimeと一致し、応答受信完了までの開始要求の時間を表している。
Latency遅延時間は、開始要求が受信応答を準備するまでの時間のみを含む。
90%のLineの時間測定指標は、90%の要求がこの応答時間内に完了することを示している。
Throughputスループットとは、毎秒処理される要求数をいう。公式:Throughput=(number of requests)/(total time)
スループットと応答時間/併発数の関係:TPS=U_concurrent/(Ttusponse+T_think)の中でT_thinkはユーザ思考時間です。
ThreadGroupスレッドグループは、同時要求のコンポーネントを制御するために使用される。パラメータを設定
SummaryReport統合報告書、結果指標は以下を含む。
属性
説明
label
各サンプルの名前
samples
テスト要求の総数量
average
平均応答時間
メディアン
50%ユーザの応答時間
90%ライン
90%ユーザの応答時間
min
最小応答時間
max
最大応答時間
error%
エラー発生率
recv KB/s
毎秒受信データ量
throughput
スループット(TPS)
三、起動停止
GUI起動
./jmeter.bat
コマンドライン起動jmeter -n -t xxx.jmx
テストを中止します// (gracefully stop, thread will stop at next opportunity)
./bin/shutdown.sh
// (will kill thread directory)
./bin/stoptest.sh
四、変数の使用propertiesファイル
Jmeterの主な配置ファイル
コマンドライン起動
-JローカルJMeter変数-D指定Javaシステム変数-G指定グローバルJMeter変数は、リモートテストでテストノードに転送されます。
サンプル
PATH=$PATH:/opt/local/jre/bin
JVM_ARGS="-Xmx2048m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k"
jmeter -Jmongo.host=xxx -Jmongo.port=xxx -n -t test.jmx
JVM_ARGSはJVMサイズを指定します。-nはno-guiモード起動-Gglobal.propertiesを指定します。-Gvar=valueの代わりにすることができます。引用の仕方
試験計画では、関数によって変数を参照することができます。
${__P(varName,defaultValue)}
五、遠隔テストPATH=$PATH:/opt/local/jre/bin
JVM_ARGS="-Xmx2048m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k"
./bin/jmeter-server &
ポート設定Jmeter-serverはRMIで通信を実現し、デフォルトポートは1099でuser.propertiesを編集して修正することができます。server_port=1999
user.propertiesを変更:
remote_hosts=xxx:1999
//
jmeter -Gmongo.host=xxx -Gmongo.port=xxx -n -t test.jmx -r
//
jmeter -Gmongo.host=xxx -Gmongo.port=xxx -n -t test.jmx -R192.168.0.100:1999,192.168.0.101:1999
//
jmeter -Gmongo.host=xxx -Gmongo.port=xxx -n -t test.jmx -R192.168.0.100:1999,192.168.0.101:1999 -Z
六、レポートを生成するjtlファイルJmeterはテストを実行した後、jtl/csv/xmlの結果ファイルを生成し、結果モニターに出力パスを追加することで得られます。コマンドラインで直接出力することもできます。
jmeter -n -t test.jmx-l result.jtl
htmlレポートJmeter 3.xは直接HTML形式を作成するレポートをサポートしています。詳細を参照してください。jmeter -n -t test.jmx-l result.jtl -e -o /opt/local/jmeter/result/html
-eはhtml報告書を作成することを表しています。-oは目標パスを指定しています。jmeter -g result.jtl -o /opt/local/jmeter/result/html
レポートをカスタマイズするuser.propertiesを変更:
// sample
jmeter.reportgenerator.sample_filter=find|update|delete|list|insert
//APDEX - ( )
jmeter.reportgenerator.apdex_satisfied_threshold=300
//APDEX - ( )
jmeter.reportgenerator.apdex_tolerated_threshold=1200
// , , , 60s
jmeter.reportgenerator.overall_granularity=5000
重要なレポートResonseTimeOverTime Transactived Active ThreadOverTime ResonseTimePerenties OverTime七、性能モニタ
Perfmonプラグインを使用して、プラグインの住所
./startAgent.sh --udp-port 7777 --tcp-port 7777
JMeterPluginsCMD.sh --generate-png cpu.png --input-jtl perfmon-cpu.jtl --plugin-type PerfMon --width 800 --height 600
八、一般プラグインStep ping ThreadGroup
プラグインアドレスJmeterのThreadGroupはスレッドを均等に増やすだけで、より現実的な圧力シーンをシミュレートできません。
プラグインは、より柔軟な同時圧力制御をサポートします。
20 , 10 5 , 100 100s...
CompsiteGraphプラグインアドレスは、応答時間、スループットレポートを組み合わせており、他のプラグインに依存する必要があります。
サーバの限界性能を観察する際に有用であり、要求頻度の指定を考慮して、同時数の大きさを測定するために用いることができる。通常、同時数がシステムの耐能力を超えると、TPSは明らかに下降し、応答時間は持続的に上昇する。
九、参考資料
GitBook-Jmeter参考https://aimer1124.gitbooks.io/jmeter-tutorial/
yukinamiのブログhttp://yukinami.github.io/2015/11/26/性能テストマニュアル/
Jmeter論理コントローラ(よくまとめられた文章)http://www.guru99.com/controllers-in-jmeter.html
Jmeter VS LoadRunnerhttp://www.cnblogs.com/shuiyelifang/p/5749523.html
TPS/応答時間/併発数の研究http://blog.csdn.net/wind19/article/details/8600083