10. JMS ポイントツーポイント テスト計画の構築¶
このセクションでは、 テスト計画を作成して JMS Point-to-Point メッセージング ソリューションをテストする方法を学習します。テストの設定は、要求キューを介してそれぞれ 4 つのメッセージを送信する 5 つのスレッドを持つ 1 つのスレッドグループです。応答メッセージの監視には、固定の応答キューが使用されます。テスト計画を作成するには、次の要素を使用します: Thread Group、 JMS Point-to-Point、および Graph Results。
JMS に関する一般的な注意事項: 現在、2 つの JMS サンプラーがあります。1 つは JMS トピックを使用し、もう 1 つはキューを使用します。トピック メッセージは、一般に pub/sub メッセージングとして知られています。トピック メッセージングは、通常、メッセージがプロデューサーによってパブリッシュされ、複数のサブスクライバーによって消費される場合に使用されます。JMS サンプラーには、JMS 実装の jar ファイルが必要です。たとえば、Apache ActiveMQ から。ActiveMQが提供するjarの一覧はこちらをご覧ください。
10.1 スレッドグループの追加¶
すべての JMeter テスト計画で行う最初のステップは、 スレッド グループ要素を追加することです。スレッド グループは、シミュレートするユーザーの数、ユーザーが要求を送信する頻度、送信する要求の数を JMeter に伝えます。
] メニュー を表示し、[ ]を選択して、ThreadGroup 要素を追加します。
Test Plan の下に Thread Group 要素が表示されます。要素が表示されない場合は、テスト計画要素をクリックしてテスト計画ツリーを「展開」します。
次に、デフォルトのプロパティを変更する必要があります。まだ選択していない場合は、ツリーでスレッド グループ要素を選択します。JMeter ウィンドウの右側のセクションにスレッド グループ コントロール パネルが表示されます (下の図 10.1 を参照)。
まず、スレッド グループにわかりやすい名前を付けます。名前フィールドにPoint-to-Point と入力します。
次に、ユーザー (スレッドと呼ばれる) の数を5に増やします。
次のフィールドである Ramp-Up Period では、値を 0 秒に設定したままにします。このプロパティは、JMeter に各ユーザーの開始までの遅延時間を伝えます。たとえば、5 秒の Ramp-Up Period を入力すると、JMeter は 5 秒の終わりまでにすべてのユーザーの起動を終了します。したがって、5 人のユーザーと 5 秒のランプアップ期間がある場合、開始ユーザー間の遅延は 1 秒になります (5 ユーザー / 5 秒 = 1 秒あたり 1 ユーザー)。値を 0 に設定すると、JMeter はすぐにすべてのユーザーを開始します。
「 Forever 」というラベルの付いたチェックボックスをクリアし、「ループカウント」フィールドに値4を入力します。このプロパティは、テストを繰り返す回数を JMeter に伝えます。ループ カウント値として0を入力すると、JMeter はテストを 1 回だけ実行します。JMeter でテスト計画を繰り返し実行するには、Forever チェックボックスを選択します。
10.2 JMS Point-to-Point Sampler の追加¶
サンプラーJMS Point-to-Point を Point-to-Point 要素に追加することから始めます ( )。次に、ツリーで JMS Point-to-Point サンプラー要素を選択します。サンプルのビルドでは、ActiveMQ 3.0 で動作する構成が提供されます。
名前 | 価値 | 説明 |
---|---|---|
JMS リソース | ||
QueueConnectionFactory | ConnectionFactory | これは、ActiveMQ 内の接続ファクトリーのデフォルトの JNDI エントリーです。 |
JNDI ネーム リクエスト キュー | Q.REQ | これは、JNDI プロパティで定義された JNDI 名と同じです。 |
JNDI 名前応答キュー | Q.RPL | これは、JNDI プロパティで定義された JNDI 名と同じです。 |
メッセージのプロパティ | ||
コミュニケーションスタイル | リクエストレスポンス | これは、少なくとも JMeter の外部で実行され、リクエストに応答するサービスが必要であることを意味します。このサービスは、リクエスト キューをリッスンし、 message.getJMSReplyTo()によって参照されるキューにメッセージを送信する必要があります。 |
コンテンツ | テスト | メッセージの内容はこれだけです。 |
JMS プロパティ | ActiveMQ には何も必要ありません。 | |
JNDI プロパティ | ||
InitialContextFactory | org.apache.activemq.jndi.ActiveMQInitialContextFactory | ActiveMQ の標準の InitialContextFactory |
プロパティ | ||
queue.Q.REQ | example.A | これは、キューexample.Aを指す要求キューの JNDI 名Q.REQを定義します。 |
queue.Q.RPL | example.B | これは、キューexample.Bを指す応答キューの JNDI 名Q.RPLを定義します。 |
プロバイダーの URL | ||
プロバイダーの URL | tcp://localhost:61616 | これは、ActiveMQ メッセージング システムの URL を定義します。 |
10.3 テスト結果を表示するためのリスナーの追加¶
テスト計画に追加する必要がある最後の要素は Listenerです。この要素は、JMS 要求のすべての結果をファイルに格納し、データの視覚的なモデルを提示する役割を果たします。
Thread Group 要素を選択し、 Graph Resultsリスナーを追加します ( )。次に、出力ファイルのディレクトリとファイル名を指定する必要があります。ファイル名フィールドに入力するか、[参照] ボタンを選択してディレクトリを参照し、ファイル名を入力します。