IBM MQ と JMeter: 最初の連絡先

おい、ハブル!

これは私の前編です 以前の出版物 そして同時に記事のリメイク JMeter を使用した MQ プロトコルを使用したサービスの自動テスト.

今回は、IBM WAS でアプリケーションを適切にテストするために JMeter と IBM MQ を調整した私の経験についてお話します。 私はそのような仕事に直面しましたが、それは簡単ではありませんでした。 興味のある皆様の時間を節約したいと考えています。

IBM MQ と JMeter: 最初の連絡先

導入

プロジェクトについて: データ バス、多数の XML メッセージ、XNUMX つの交換領域 (キュー、データベース、ファイル システム)、独自のメッセージ処理ロジックを備えた Web サービス。 プロジェクトが進むにつれて、手動テストはますます困難になってきました。 Apache JMeter が救助に呼ばれました。大規模なユーザー コミュニティとフレンドリーなインターフェイスを備えた、強力でオープン ソースです。 すぐに使えるバージョンのカスタマイズの容易さにより、あらゆるケースに対応でき、リード開発者のサポートが約束されています。 もしあれば (それは役に立ちました)最終的に私の選択を確認しました。

初期コンテキストの準備

キュー マネージャーと対話するには、初期コンテキストが必要です。 いくつか種類がありますが、こちら ここで もっと読むことができます。
作成するには、MQ Explorer を使用すると便利です。

IBM MQ と JMeter: 最初の連絡先
図 1: 初期コンテキストの追加

コンテキスト ファイルの種類と保存ディレクトリを選択します .バインディング JNDI オブジェクトの説明を含むファイル:

IBM MQ と JMeter: 最初の連絡先
図 2: 初期コンテキスト タイプの選択

その後、これらのオブジェクトの作成を開始できます。 そして、接続ファクトリーから始めます。

IBM MQ と JMeter: 最初の連絡先
図 3: 接続ファクトリーの作成

親しみやすい名前を選択してください...

IBM MQ と JMeter: 最初の連絡先
図 4: 接続ファクトリ名の選択

...そして入力してください キュー接続ファクトリー:

IBM MQ と JMeter: 最初の連絡先
図 5: 接続ファクトリーのタイプの選択

プロトコル - MQ クライアント MQ とリモートで対話できるようにするには、次のようにします。

IBM MQ と JMeter: 最初の連絡先
図 6: コネクション ファクトリ プロトコルの選択

次のステップでは、既存のファクトリを選択し、そこからさらに設定をコピーできます。 クリック Next何もない場合:

IBM MQ と JMeter: 最初の連絡先
図 7: 既存の接続ファクトリーの設定の選択

パラメータ選択ウィンドウでは、XNUMX つを指定するだけで十分です。 タブ上 接続 キューマネージャーの名前と IP スタンドをその場所 (ポート) とともに示します。 1414 離れる):

IBM MQ と JMeter: 最初の連絡先
図 8: コネクション ファクトリ パラメータの構成

そしてタブ上で チャンネル — 接続用のチャネル。 クリック 終了 完了するには:

IBM MQ と JMeter: 最初の連絡先
図 9: 接続ファクトリーの作成の完了

次に、キューへの接続を作成しましょう。

IBM MQ と JMeter: 最初の連絡先
図 10: ターゲット オブジェクトの作成

わかりやすい名前を選択して (キューの実際の名前を示すことをお勧めします)、次のように入力します。 キュー:

IBM MQ と JMeter: 最初の連絡先
図 11: ターゲット名とタイプの選択

類推すると 図7 既存のキューから設定をコピーできます。 こちらもクリックしてください Next、最初の場合:

IBM MQ と JMeter: 最初の連絡先
図 12: 既存のターゲットの設定の選択

設定ウィンドウで、マネージャーの名前と目的のキューを選択し、クリックします。 終了。 次に、JMeter との対話に必要なすべてのキューが作成されるまで、必要な回数繰り返します。

IBM MQ と JMeter: 最初の連絡先
図 13: ターゲットの作成の完了

JMeter の準備

JMeter の準備には、MQ との対話に必要なライブラリの追加が含まれます。 これらは %wmq_home%/java/lib にあります。 JMeter を起動する前に、これらを %jmeter_home%/lib/ext にコピーします。

  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.headers.jar
  • com.ibm.mq.jar
  • com.ibm.mq.jmqi.jar
  • com.ibm.mq.pcf.jar
  • com.ibm.mqjms.jar
  • dhbcore.jar
  • fscontext.jar
  • jms.jar
  • jta.jar
  • プロバイダーユーティリティ.jar

代替リストの提案 ポーラニク в 注釈 少しニュアンスが異なります: jms.jar の代わりに javax.jms-api-2.0.jar。
jms.jar でエラー NoClassDEfFoundError が発生する、私が見つけた解決策 ここで.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • プロバイダーユーティリティ.jar

両方のライブラリーのリストは、JMeter 5.0 および IBM MQ 8.0.0.4 で正常に動作します。

テスト計画のセットアップ

必要かつ十分な JMeter 要素のセットは次のようになります。

IBM MQ と JMeter: 最初の連絡先
図 14: テスト計画

テスト計画例には XNUMX つの変数があります。 数は少ないですが、変数の種類ごとに個別の構成要素を作成することをお勧めします。 テストが拡大するにつれて、これによりナビゲーションがはるかに簡単になります。 この場合、XNUMX つのリストが得られます。 最初のパラメータには、MQ に接続するためのパラメータが含まれています (「. 図2 и 図4):

IBM MQ と JMeter: 最初の連絡先
図 15: MQ 接続オプション

XNUMX 番目は、キューを参照するターゲット オブジェクトの名前です。

IBM MQ と JMeter: 最初の連絡先
図 16: パラメータ化されたキュー名

残っているのは、テスト メッセージを送信キューにロードするように JMS Publisher を構成することだけです。

IBM MQ と JMeter: 最初の連絡先
図 17: JMS パブリッシャーのセットアップ

そして、JMS サブスクライバーは受信キューからメッセージを読み取ります。

IBM MQ と JMeter: 最初の連絡先
図 18: JMS サブスクライバの構成

すべてが正しく行われた場合、リスナー内の実行結果は明るく陽気な緑色で満たされます。

まとめ

ルーティングと管理の問題は、別の出版物としてかなり親密で広範囲にわたるトピックであるため、意図的に省略しました。

さらに、キュー、データベース、ファイルの操作には微妙な部分が大きくありますが、これについても個別に詳しく説明したいと思います。

時間を節約しましょう。 ご清聴ありがとうございました。

IBM MQ と JMeter: 最初の連絡先

出所: habr.com