6. データベーステスト計画の構築

このセクションでは 、データベース サーバーをテストするための基本的なテスト計画を作成する方法を学習します。2 つの SQL 要求をデータベース サーバーに送信する 50 人のユーザーを作成します。また、ユーザーにテストを 100 回実行するように指示します。したがって、リクエストの総数は (50 ユーザー) x (2 リクエスト) x (100 回繰り返す) = 10'000 JDBC リクエストです。テスト計画を作成するには、次の要素を使用します: Thread GroupJDBC RequestSummary Report

この例では、MySQL データベース ドライバーを使用します。このドライバーを使用するには、含まれている.jarファイル (例: mysql-connector-java-XXX-bin.jar ) を JMeter ./libディレクトリにコピーする必要があります (詳細については、 JMeter のクラスパス を参照してください)。

6.1 ユーザーの追加

すべての JMeter テスト計画で行う最初のステップは、 スレッド グループ要素を追加することです。スレッド グループは、シミュレートするユーザーの数、ユーザーが要求を送信する頻度、送信する要求の数を JMeter に伝えます。

まずテスト計画を選択し、マウスの右ボタンをクリックして [追加] メニュー を表示し、[追加]  →  [スレッド グループ]を選択して、ThreadGroup 要素を追加します。

Test Plan の下に Thread Group 要素が表示されます。要素が表示されない場合は、テスト計画要素をクリックしてテスト計画ツリーを展開します。

次に、デフォルトのプロパティを変更する必要があります。まだ選択していない場合は、ツリーでスレッド グループ要素を選択します。JMeter ウィンドウの右側のセクションにスレッド グループ コントロール パネルが表示されます (下の図 6.1 を参照)。


図 6.1。 デフォルト値を持つスレッド グループ
図 6.1。デフォルト値を持つスレッド グループ

まず、スレッド グループにわかりやすい名前を付けます。名前フィールドにJDBC Usersと入力します。

有効なデータベース、データベース テーブル、およびそのテーブルへのユーザー レベルのアクセスが必要です。ここに示す例では、データベースは「cloud」、テーブル名は「vm_instance」です。

次に、ユーザー数を50に増やします。

次のフィールドである Ramp-Up Period は、10 秒の値のままにします。このプロパティは、JMeter に各ユーザーの開始までの遅延時間を伝えます。たとえば、10 秒の Ramp-Up Period を入力すると、JMeter は 10 秒の終わりまでにすべてのユーザーの起動を終了します。したがって、50 人のユーザーと 10 秒のランプアップ期間がある場合、開始ユーザー間の遅延は 200 ミリ秒になります (10 秒 / 50 ユーザー = 1 ユーザーあたり 0.2 秒)。値を 0 に設定すると、JMeter はすぐにすべてのユーザーを開始します。

最後に、[ループ カウント] フィールドに値100を入力します。このプロパティは、テストを繰り返す回数を JMeter に伝えます。JMeter でテスト計画を繰り返し実行するには、Forever チェックボックスを選択します。

ほとんどのアプリケーションでは、コントロール パネルで行った変更を手動で受け入れる必要があります。ただし、JMeter では、コントロール パネルは変更を加えると自動的に受け入れます。要素の名前を変更すると、コントロール パネルを終了した後 (たとえば、別のツリー要素を選択したとき) にツリーが新しいテキストで更新されます。

完成した JDBC ユーザー スレッド グループについては、図 6.2 を参照してください。


図 6.2。 JDBC ユーザー スレッド グループ
図 6.2。JDBC ユーザー スレッド グループ

6.2 JDBC リクエストの追加

ユーザーを定義したので、次はユーザーが実行するタスクを定義します。このセクションでは、実行する JDBC リクエストを指定します。

まず、 JDBC ユーザー要素を選択します。マウスの右ボタンをクリックして [追加] メニューを表示し、[追加]  →  [構成要素]  →  [ JDBC 接続構成] を選択します。次に、この新しい要素を選択して、そのコントロール パネルを表示します (図 6.3 を参照)。

次のフィールドを設定します (これらは、「cloud」と呼ばれる MySQL データベースを使用することを前提としています)。

  • プールにバインドされた変数名 (ここではmyDatabase )。これは、構成を一意に識別する必要があります。これは、使用する構成を識別するために JDBC Sampler によって使用されます。
  • データベース URL: jdbc:mysql://ipOfTheServer:3306/cloud
  • JDBC ドライバー クラス: com.mysql.jdbc.Driver
  • ユーザー名:データベースのユーザー名
  • パスワード:ユーザー名のパスワード

画面の他のフィールドはデフォルトのままにしておくことができます。

JMeter は、コントロール パネルで指定された構成設定でデータベース接続プールを作成します。プールは、「変数名」フィールドの JDBC リクエストで参照されます。いくつかの異なる JDBC 構成要素を使用できますが、それらには一意の名前が必要です。すべての JDBC リクエストは、JDBC 構成プールを参照する必要があります。複数の JDBC リクエストが同じプールを参照できます。


図 6.3。 JDBC 構成
図 6.3。JDBC 構成

JDBC Users 要素を再度選択します。マウスの右ボタンをクリックしてAddメニューを表示し、 Add  →  Sampler  →  JDBC Requestを選択します。次に、この新しい要素を選択して、そのコントロール パネルを表示します (図 6.4 を参照)。


図 6.4。 JDBC リクエスト
図 6.4。JDBC リクエスト

テスト計画では、2 つの JDBC リクエストを行います。1 つ目は「実行中」のすべての VM インスタンスを選択するためのもので、2 つ目は「消去中」の VM インスタンスを選択するためのものです (明らかに、これらを特定のデータベースに適した例に変更する必要があります)。これらを以下に示します。

JMeter は、ツリーに追加した順序でリクエストを送信します。

次のプロパティを編集することから始めます (図 6.5 を参照)。

  • 名前を「VM Running」に変更します。
  • プール名を入力します: ' myDatabase ' (構成要素と同じ)
  • SQL クエリ文字列フィールドに入力します。
  • [パラメータ値] フィールドに「実行中」の値を入力します。
  • 「 VARCHAR 」を使用してパラメータ タイプを入力します。


図 6.5。 最初の SQL リクエストの JDBC リクエスト
図 6.5。最初の SQL リクエストの JDBC リクエスト

次に、2 番目の JDBC リクエストを追加し、次のプロパティを編集します (図 6.6 を参照)。

  • 名前を「VM Expunging」に変更します。
  • パラメータ値の値を ' Expunging ' に変更します。


図 6.6。 2 番目のリクエストの JDBC リクエスト
図 6.6。2 番目のリクエストの JDBC リクエスト

6.3 テスト結果を表示/保存するためのリスナーの追加

テスト計画に追加する必要がある最後の要素は Listenerです。この要素は、JDBC リクエストのすべての結果をファイルに保存し、結果を表示する役割を果たします。

JDBC Users要素を選択し、 Summary Report リスナーを追加します ( Add  →  Listener  →  Summary Report )。

テスト計画を保存し、メニューの [実行]  →  [開始]または Ctrl  +  Rでテストを実行します。

リスナーは結果を表示します。


図 6.7。 グラフ結果リスナー
図 6.7。グラフ結果リスナー
Go to top