ネットワーク全体で最も詳細な、Jmeter パフォーマンス テスト - 高度なパフォーマンス、マルチプロトコルの戦闘 Websocket/Dubbo (7)


序文

Jmeter は、オープン ソースで無料であるだけでなく、非常にスケーラブルであるため、現在主流のパフォーマンス テスト ツールです。Jmeter が使用するデフォルトのプロトコルは Http/HTTPS プロトコルですが、これが唯一のプロトコルではなく、Jmeter はプラグインをロードすることにより、より多くのプロトコルのスクリプト開発をサポートできます。

Web サービス (石鹸) プロトコル

Webservice は、xml を使用して、外部に呼び出すことができる API インターフェイスを公開する Web アプリケーション プログラムです。

Web サービスのインターフェース標準:

SOAP (簡易オブジェクト アクセス プロトコル) は、送信に http + xml メソッドを使用します。;
UDDI ((UnviversalDescription、Discovery、および Integration));
WSDL (Web Service Description Language)、XML に基づく記述言語。

SOAP は、アプリケーションが Http 上で情報を交換できるようにする XML に基づく単純なプロトコルです。XML 自体は、データの送信と保存に使用されるテキスト ファイルです。

スクリプトの書き方
soapインターフェースはHttp+xmlを使うので、jmeterではhttpサンプラーも使えますが、メッセージ本体のデータはxmlで埋める必要があります

写真の説明を追加してください

上図のリクエストはsoap1.1版からのリクエストですが、soap1.1と1.2の最大の違いは、soap1.1版のリクエストヘッダーにSOAPActionを入れる必要があることです。

写真の説明を追加してください

写真の説明を追加してください

次に、バージョン 1.1 と 1.2 のリクエスト ボディは、xml 形式のタグがわずかに異なります。
soap1.2 バージョンのノード名は soap12 ですが、soap1.1

写真の説明を追加してください

Websocket プロトコル

Websocket プロトコルは、TCP に基づく新しいネットワーク プロトコルであり、クライアントとサーバー間の全二重通信を実現します。つまり、サーバーは積極的にクライアントにメッセージを送信できます。

websocket と http の両方が tcp プロトコルを使用しますが、それらの違いは次のとおりです。

http: クライアントのみがサーバーへのリクエストを開始でき、サーバーはリクエストを受け取った後にリクエストを処理し、同じ方法で返します。
websocket: クライアントがサーバーへのリクエストを開始できることに加えて、サーバーは主にクライアントにメッセージを送信することもできます。

たとえば、一部のアプリは、ネットワークに接続した後に何もしなくてもメッセージをプッシュします。
ただし、プッシュ メッセージは websocket だけでなく mq でも実行できます。

http プロトコル ファミリーと同様に、2 つの Websocket プロトコル ファミリーがあります。
ws
wss: ws + ssl 証明書、暗号化された送信

websocket と socket は同じものではありません.
websocket は通信プロトコルであり、インターフェースは外部に公開されています.
socket はコードレベルでの呼び出しです.

プラグインのインポート
Peter Doornbosch による WebSocket Samplers のインストール

写真の説明を追加してください

Websocketをスクリプト化する
ためのサンプラーは次のとおりです。

websocket closc: websocket を閉じます
websocket 接続を開く: websocket を確立します websocket
ping/pong: websocket プロトコルが接続されているかどうかをテストします
websocket シングル リード サンプラー: クライアントはサーバーから応答を取得します websocket シングル ライト サンプラー: クライアントはサーバーに
リクエストを送信します

websocket request-response sampler: サーバーにリクエストを送信し、同時にレスポンスを取得する機能を持つ

接続を確立するには、
IP、ポート、およびパスを入力するだけです

写真の説明を追加してください

Initiate a request
デフォルトでは、接続は既存の接続を使用することを意味する既存の接続を使用することを選択します; 別のオプションは、新しい接続を確立するために新しい接続をセットアップすることです. 上記で既に接続を作成しているので、既存の接続を使用することを選択します

写真の説明を追加してください

受信メッセージをデータに入力します

写真の説明を追加してください

応答を取得する
同様に、[既存の接続を使用] を選択し、応答の内容に応じて対応するテキスト形式を選択します。

写真の説明を追加してください

上記の手順は、websocket リクエスト/レスポンス サンプラーを使用して一度に完了することができます。操作は同じであり、デモは行いません。
さらに、最後に websocket closc sampler を追加して接続を閉じることをお勧めします。

ダボプロトコル

Dubbo は、高性能で軽量な Kaiyuan Java RPC フレームワークであり、インターフェイス指向のリモート メソッド呼び出し、インテリジェントなフォールト トレランスと負荷分散、自動サービス登録と検出という 3 つのコア機能を提供します。


今回導入したプラグインはjmeterのプラグイン管理ツールではダウンロードできず、追加ダウンロードが必要です。
名前: jmeter-plugins-dubbo-2.7.3-jar-with-dependencies.zip

このプラグインを入れるとjmeterの起動速度が遅くなるので、dubboをテストするときはこのプラグインを入れ、それ以外のときは入れないことをお勧めします。

スクリプトを書く

写真の説明を追加してください

Protocol: 登録センターを選択
Address: 登録センターのアドレス
Get Provider List: Click to get the list of providers. クリック後、jmeter は数秒間フリーズします. 心配しないで、無作為にクリックしないでください!

次の部分はパラメータを入力する部分ですが、具体的なパラメータについては開発者にお問い合わせください。

写真の説明を追加してください

以下は、私がコンパイルした2023年の最も完全なソフトウェアテストエンジニア学習知識アーキテクチャシステム図です。

1. Pythonプログラミングの入門から習得まで

写真の説明を追加してください

2.インターフェース自動化プロジェクト実戦

写真の説明を追加してください

3. Web自動化プロジェクトの実戦

写真の説明を追加してください

4. アプリ自動化プロジェクトの実戦

写真の説明を追加してください

5. 一流メーカーのレジュメ

写真の説明を追加してください

6. DevOps システムのテストと開発

写真の説明を追加してください

7. 一般的に使用される自動テスト ツール

写真の説明を追加してください

八、JMeterの性能テスト

写真の説明を追加してください

9. まとめ(最後にちょっとしたサプライズ)

挫折や困難に直面しても、心に夢を持ち、その道を歩み続ける限り、自分の能力と価値をしっかりと信じ、決してあきらめず、あなた自身の輝かしい成功を達成してください!

人生の道は常に平坦ではありませんが、信仰、勇気、忍耐力があれば、何千もの山や川を渡り、頂上を登り、最後に自分の成功と栄光を手に入れることができます!

人生で最も重要なことは、何に遭遇するかではなく、それにどう対処するかです。常に上を向いた心を持ち、信念を貫き、転んでも立ち上がって、自分の光と栄光に向かって進みましょう!

おすすめ

転載: blog.csdn.net/shuang_waiwai/article/details/130183699