6. データベーステスト計画の構築¶
このセクションでは 、データベース サーバーをテストするための基本的なテスト計画を作成する方法を学習します。2 つの SQL 要求をデータベース サーバーに送信する 50 人のユーザーを作成します。また、ユーザーにテストを 100 回実行するように指示します。したがって、リクエストの総数は (50 ユーザー) x (2 リクエスト) x (100 回繰り返す) = 10'000 JDBC リクエストです。テスト計画を作成するには、次の要素を使用します: Thread Group、 JDBC Request、Summary Report。
6.1 ユーザーの追加¶
すべての JMeter テスト計画で行う最初のステップは、 スレッド グループ要素を追加することです。スレッド グループは、シミュレートするユーザーの数、ユーザーが要求を送信する頻度、送信する要求の数を JMeter に伝えます。
まずテスト計画を選択し、マウスの右ボタンをクリックして [追加] メニュー を表示し、[ ]を選択して、ThreadGroup 要素を追加します。
Test Plan の下に Thread Group 要素が表示されます。要素が表示されない場合は、テスト計画要素をクリックしてテスト計画ツリーを展開します。
次に、デフォルトのプロパティを変更する必要があります。まだ選択していない場合は、ツリーでスレッド グループ要素を選択します。JMeter ウィンドウの右側のセクションにスレッド グループ コントロール パネルが表示されます (下の図 6.1 を参照)。

まず、スレッド グループにわかりやすい名前を付けます。名前フィールドにJDBC Usersと入力します。
次に、ユーザー数を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 チェックボックスを選択します。
完成した JDBC ユーザー スレッド グループについては、図 6.2 を参照してください。

6.2 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 リクエストが同じプールを参照できます。

JDBC Users 要素を再度選択します。マウスの右ボタンをクリックしてAddメニューを表示し、
を選択します。次に、この新しい要素を選択して、そのコントロール パネルを表示します (図 6.4 を参照)。
テスト計画では、2 つの JDBC リクエストを行います。1 つ目は「実行中」のすべての VM インスタンスを選択するためのもので、2 つ目は「消去中」の VM インスタンスを選択するためのものです (明らかに、これらを特定のデータベースに適した例に変更する必要があります)。これらを以下に示します。
次のプロパティを編集することから始めます (図 6.5 を参照)。
- 名前を「VM Running」に変更します。
- プール名を入力します: ' myDatabase ' (構成要素と同じ)
- SQL クエリ文字列フィールドに入力します。
- [パラメータ値] フィールドに「実行中」の値を入力します。
- 「 VARCHAR 」を使用してパラメータ タイプを入力します。

次に、2 番目の JDBC リクエストを追加し、次のプロパティを編集します (図 6.6 を参照)。
- 名前を「VM Expunging」に変更します。
- パラメータ値の値を ' Expunging ' に変更します。

6.3 テスト結果を表示/保存するためのリスナーの追加¶
テスト計画に追加する必要がある最後の要素は Listenerです。この要素は、JDBC リクエストのすべての結果をファイルに保存し、結果を表示する役割を果たします。
JDBC Users要素を選択し、 Summary Report リスナーを追加します ( )。
テスト計画を保存し、メニューの [Ctrl + Rでテストを実行します。
またはリスナーは結果を表示します。
