1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JmeterでJDBCリクエストを投げてみる

Last updated at Posted at 2022-04-13

はじめに

ちょっとDBに負荷をかけたくなり、JmeterでJDBCリクエストを投げることにしました。
備忘録として残しますので参考になれば幸いです。

Jmeter初心者ですので、用語は若干誤りがあるかもしれません。

やりたいこと

  • 参照+更新のごく簡単なトランザクションを大量に投げたい
  • 操作する行はある程度ランダムに分散させたい

前提

DBMSとしてDb2を使用します

設定内容

結果的に、以下のエレメントを準備しました。
以下で、各エレメントの設定内容を見ていきます。
image.png

テスト計画

基本デフォルトのままですが、Db2のJDBCドライバーが格納されているディレクトリをclasspathに追加しています。
image.png

スレッドグループ

エレメントの追加方法
image.png

設定内容
今回は5000秒の間、 100ユーザー×5000トランザクションの負荷をかけることにしました。
image.png

JDBC Connection Configuration

image.png

設定内容
「Variable Name for created pool」は何でもいいですが、後続の「JDBC Request」エレメントで同じ値をセットする必要がある点に注意が必要です。
トランザクションとして実行したいのでAuto CommitはFalseに変更しています。
JDBC driver classはDBMSに則したものを指定します。
image.png

JDBC Request

実際に投げるJDBCリクエスト(≒ SQL)を定義します。
今回はSELECT + UPDATE + COMMITからなるトランザクションを想定するため3つのエレメントを追加します。

エレメントの追加方法
image.png

設定内容(SELECT)
「Variable Name of Pool declared in JDBC Connection Configuration」には、「JDBC Connection」で指定したものと同じ。
バラバラな行を更新するため、Where句でパラメータマーカーを使用する。セットする値は後続の「ユーザーパラメータ」エレメントにて定義。
パラメータマーカーを使う参照処理のため、クエリータイプは「Prepared Select Statement」を使用する。
image.png

設定内容(UPDATE)
パラメータマーカーを使う更新処理のため、クエリータイプは「Prepared Update Statement」を使用する。
image.png

設定内容(COMMIT)
image.png

ユーザーパラメータ

スレッド毎に異なるパラメータをセットするために使用しました。(もしかすると、もっといい方法があるかもしれませんが。。。)

エレメントの追加方法
image.png

設定内容
JmeterにはStringFromFileという関数が用意されている。これを使うとファイルからパラメータを順に読み込んで使用してくれるため、スレッド毎に(疑似的に)ランダムなパラメータが使用できる。
ファイルはJmeterのbinフォルダに格納しておきます。
image.png

(参考)col1Value2.txtファイルの中身
以下のように1から昇順の値を格納した。
実機確認した限りでは、ファイルの最後まで読み込んだら先頭に戻りループする実装になっていると推測。
image.png

サマリーレポート

実行結果を表示するためのエレメントの一つで、リクエスト総数やスループットのような集計結果を表示できる

エレメントの追加方法
image.png
テスト時の結果
image.png

View Results Tree

実行結果を表示するためのエレメントの一つで、こちらはリクエスト個々の結果を表示できる。

エレメントの追加方法
image.png

テスト時の結果
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?