jMeter-テスト計画の監視

この章では、JMeterを使用してWebサーバーを監視するテスト計画を作成する方法について説明します。モニターテストの用途は次のとおりです-

  • モニターは、ストレステストやシステム管理に役立ちます。

  • ストレステストとともに使用されるモニターは、サーバーのパフォーマンスに関する追加情報を提供します。

  • モニターを使用すると、サーバーのパフォーマンスとクライアント側の応答時間の関係を簡単に確認できます。

  • システム管理ツールとして、モニターは1つのコンソールから複数のサーバーを監視する簡単な方法を提供します。

監視にはTomcat5以降が必要です。テストの目的で、Tomcat7.0.42サーバーを監視します。Java Management Extension(JMX)をサポートする任意のサーブレットコンテナをテストできます。Tomcatサーバーを監視するためのテストケースを書いてみましょう。まず、Tomcatサーバーをセットアップしましょう。

Tomcatサーバーのセットアップ

まず、Tomcatサービスのステータスを開きます。これを行うには、ユーザーの構成ファイルを編集します。<TOMCAT_HOME>/conf/tomcat-users.xml。このファイルには、次のようにtomcat-usersセクション(コメント付き)が含まれています-

<tomcat-users>

<!--
   <role rolename = "tomcat"/>
   <role rolename = "role1"/>
   <user username = "tomcat" password = "tomcat" roles = "tomcat"/>
   <user username = "both" password = "tomcat" roles = "tomcat,role1"/>
   <user username = "role1" password = "tomcat" roles = "role1"/>
-->

</tomcat-users>

このセクションを変更して、adminロール、manager、manager-guiを追加し、ユーザー「admin」を割り当てる必要があります。改訂ファイルは以下の通りです−

<tomcat-users>

   <role rolename = "manager-gui"/>
   <role rolename = "manager-script"/>
   <role rolename = "manager-jmx"/>
   <role rolename = "manager-status"/>
   <user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>

次に、Linuxの場合はTomcatサーバー<TOMCAT_HOME> /bin/startup.shを起動し、Windowsの場合は<TOMCAT_HOME> /bin/startup.batを起動します。開始したら、ブラウザに次のリンクを入力して、Tomcat監視が機能することを確認します-

http://localhost:8080/manager/status?XML=true

ブラウザに認証ウィンドウが表示されます。関連するTomcatログインとパスワードを入力します(この場合はadminです)。すると、ブラウザにTomcatの実行状態が以下のように表示されます。

上のスクリーンショットから、いくつかのことがわかります-

  • URLで、XML = true(大文字と小文字の区別に注意)を使用すると、JMeterが機能するために必要な監視Tomcatをクリーンに表示できることに注意してください。

  • また、デフォルトで2つのコネクタがあることに注意してください。一般的に使用されるAJPコネクタはmod_jkApache HTTPDフロントモジュールと結合され、HTTPコネクタはポート8080を介してTomcatに直接アクセスするために一般的に使用されるコネクタです。

JMeterテスト計画を書く

テスト計画を書いてTomcatサーバーを監視しましょう-

テスト計画の名前を変更する

  • /home/manisha/apache-jmeter2.9/bin/jmeter.shをクリックして、JMeterウィンドウを開きます。

  • [テスト計画]ノードをクリックします。

  • 次の手順で説明するように、スレッドグループを追加します。

スレッドグループの追加

  • 右クリック Test Plan → Add → Threads(Users) → Thread Group。スレッドグループは、テスト計画ノードの下に追加されます。

  • 十分なサンプルが生成されるように、ループカウントを永久(またはいくつかの大きな数)に変更します。

HTTP認証マネージャー

  • 「追加」→「構成要素」→「HTTP許可マネージャー」を選択して、HTTP許可マネージャーをスレッドグループ要素に追加します。この要素は、Tomcatサーバーのステータスを確認するためにブラウザーから要求された認証を管理します。

  • HTTP認証マネージャーを選択します。

  • 以下の詳細を編集します-

    • Username − admin(tomcat-users.xmlファイルの構成によって異なります)

    • Password − admin(tomcatusers.xmlファイルの構成によって異なります)

    • 他のフィールドは空のままです。

サンプラーの追加-HTTPリクエスト

ユーザーを定義したので、次に、ユーザーが実行するタスクを定義します。HTTPリクエスト要素を追加します。

  • マウスボタンを右クリックして、[追加]メニューを表示します。

  • 「追加」→「サンプラー」→「HTTP要求」を選択します。

  • 次に、ツリーでHTTPリクエスト要素を選択します。

  • 下の画像のように次のプロパティを編集します-

  • この要素には次の詳細が入力されます-

    • Name −サーバーステータス

    • Server Name or IP −ローカルホスト

    • Port − 8080

    • Path − / manager / status

    • Parameters−「XML」という名前のリクエストパラメータを大文字で追加します。小文字で「true」の値を指定します。

    • Optional Tasks −サンプラーの下部にある「モニターとして使用」にチェックを入れます。

コンスタントタイマーを追加する

サーバーのステータスを定期的に要求するには、各要求の間に時間間隔を空けるコンスタントタイマーを追加します。[追加]→[タイマー]→[一定のタイマー]を選択して、このスレッドグループにタイマーを追加します。

[スレッド遅延]ボックスに5000ミリ秒を入力します。一般に、5秒より短い間隔を使用すると、サーバーにストレスがかかる可能性があります。モニターを実稼働環境にデプロイする前に、許容可能な間隔を確認してください。

リスナーを追加

テスト計画に追加する必要がある最後の要素はリスナーです。2種類のリスナーを追加します。1つは結果をファイルに保存し、もう1つは結果のグラフィカルビューを表示します。

  • スレッドグループ要素を選択します。

  • シンプルデータライターリスナーの追加追加→リスナー→シンプルデータライター。

  • 出力ファイルのディレクトリとファイル名を指定します(この場合は/home/manisha/work/sample.csvです)

  • テスト計画要素の[追加]→[リスナー]→[結果の監視]を選択して、別のリスナーを追加しましょう。

テスト計画を実行する

次に、上記のテスト計画をmonitor_test.jmxとして保存します。[実行]→[開始]オプションを使用して、このテスト計画を実行します。

出力を表示する

結果は/home/manisha/work/sample.csvファイルに保存されます。次の画像のように、モニター結果リスナーにグラフィカルな結果を表示することもできます。

グラフの両側にキャプションがあることに注意してください。左側はパーセントで、右側は死んでいる/健康です。メモリラインが急激に上下する場合は、メモリのスラッシングを示している可能性があります。このような状況では、BorlandOptimizeItまたはJProbeを使用してアプリケーションのプロファイルを作成することをお勧めします。見たいのは、ロード、メモリ、スレッドの規則的なパターンです。異常な動作は通常、パフォーマンスの低下または何らかのバグを示します。