1. jmeterが分布圧力測定を行う理由
jmeter 自体の制限
- 印刷機の Jmeter がサポートするスレッド数は、Jmeter 独自の機構とハードウェア構成 (メモリ、CPU など) によって制限されます。
- Jmeter は Java アプリケーションであるため、大量の CPU とメモリを消費します。多数の同時ユーザーをシミュレートする必要がある場合、単一のマシンではJAVA メモリ オーバーフロー エラーが発生しやすく、テスト スクリプト自体のボトルネックにつながります。 。
JVM ヒープ メモリの制限
Java アプリケーションの jvm ヒープ メモリ ヒープは、プレス ハードウェアによって制限されますが、ヒープ メモリ サイズは調整できます。
cmd で Jmeter GUI を有効にすると、プロンプトも表示されます
increase Java Heap to meet your test requirements: Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
翻訳:テストの要件を満たすために Java ヒープ メモリを増やします。
ただし、1 台のマシンで数万の同時実行をサポートすることはできず、現時点では、パフォーマンスのボトルネックが印刷機に発生しないように、分散ストレス テストには複数の印刷機が必要です。
レノボのシーン
- 1000 スレッドの同時実行のシナリオをテストしますが、1 台のマシンでサポートできる同時実行は 200 のみで、1000 に到達することはできません。
- 1000 の同時実行を分散 (5 台のマシンから) でシミュレート可能
分散ストレステスト
Jmeter は分散圧力測定をサポートしており、シミュレーションが必要な多数の同時ユーザーを複数の印刷機に分散するため、Jmeter の負荷が大きくなり、実際のビジネス シナリオ (高同時実行シナリオ) に対応できます。
流通の最終目標
- 印刷機でパフォーマンスのボトルネックが発生しないようにする
- 印刷機が後でパフォーマンス分析を実行する際に、印刷機がパフォーマンスのボトルネックを引き起こすかどうかを考慮する必要がない主な理由の 1 つは、
2. 分散原理
上のアニメーションを読むと理解できると思いますが、その原理は次のとおりです。
- Cnotroller は制御マシン、Slaves は複数のプレス機です
- 分散テストでは、Cnotroller はコマンド ラインを通じてテスト スクリプトをすべてのスレーブに配布します。
- スレーブは Jmeter GUI を起動する必要がなく、CLI モードを通じてテストを実行します。
- スレーブが実行を完了すると、結果がマスターに送信されます。
- マスターはすべてのスレーブの結果を収集し、それらを結果セットに集約します。
知らせ
- プレス機は、ロード マシン、エージェント マシン、エグゼクティブ マシン、ブロイラーなどと呼ばれることもあります。さまざまな名前がありますが、それらはすべてスレーブです。
- マスターはテストスクリプトを実行したり、実行しないで管理のみを担当することもできます
3. 分布圧力テストの前提条件が設定されている
注意事项
1、保持Contorller和Slave机器的JDK、jmeter以及插件等配置版本一致;
2、如果测试数据有用到CSV或者其他方式进行参数化,需要将data在每台Slave上复制一份,且读取路径必须保持一致;
3、确保Contorller和Salve机器在同一个子网里面;
4、检查防火墙是否被关闭,端口是否被占用(防火墙会影响脚本执行和测试结构收集,端口占用会导致Slave机报错);
5、分布式测试中,通过远程启动代理服务器,默认查看结果树中的响应数据为空,只有错误信息会被报回;
6、如果并发较高,建议将Contorller机设置为只启动测试脚本和收集汇总测试结果,在配置文件里去掉Contorller机的IP;
1. コントローラー構成を変更する
Contorller マシンの jmeter インストール ファイル (jmeter.properties ファイル) の下にある bin ディレクトリを開き、remote_hosts=127.0.0.1 を検索し、その後ろにスレーブ マシンの IP とポートを書き込みます。次に例を示します。
remote_hosts=127.0.0.1:1099,172.16.6.90:1099,172.16.6.91:1099
このうち、172.16.6.90と172.16.6.90はSlaveマシンのIPであり、各Agentマシンは英語でカンマ区切りで変更し保存します。デフォルトのポートは 1099 であることに注意してください。
マスターマシンに関係なく、忘れずに次のように変更してください: server.rmi.ssl.disable=true、および # を削除してください。そうしないと、エラーが報告されます。
2. 機械をロードする
- まず、jdk と jmeter 環境をインストールします。詳細については、前回の記事を参照してください。次に、構成ファイル /bin/jmeter.properties を開き、この構成のコメント server.rmi.ssl.disable=false を見つけてキャンセルし、false を true に変更します。
# Password of Trust store
#server.rmi.ssl.truststore.password=changeit
#
# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true # 改成true
- コマンド jmeter-server -Djava.rmi.server.hostname=172.16.2.114 を入力して、anget ノードを起動します。jmeter-server の背後にあるパラメータは、エージェントの IP を指定します。
3.ジェムターを起動する
jmeter を起動した後、スレッド グループ、構成コンポーネント、サンプラー、リスナー、その他のコンポーネントを設定し、[Run-Remote Start] をクリックします。
スレーブ マシンをリモートで起動するか、すべてのスレーブ マシンをリモートで起動するかを選択して、分散テストを実行できます。
最後に:熱心なファンに恩返しするために、完全なソフトウェア テスト ビデオ学習チュートリアルを作成しました。必要な場合は、無料で入手できます。【保证100%免费】
ソフトウェアテストの面接ドキュメント
私たちは高給の仕事を見つけるために勉強しなければなりません。次の面接の質問は、アリ、テンセント、バイトなどの一流インターネット企業からの最新の面接資料であり、一部のバイトの上司が権威ある回答をしています。このセットを完了してください。面接資料は次のとおりです。誰もが満足のいく仕事を見つけることができると信じています。