たんたんめん日記

ソシャゲ関連のなんでもやさん備忘録

【jmeter】【MySQL】MySQLからデータを取得し、変数に格納する

jmeterはDBからデータを引っ張ってきて、それを変数に格納し、使用できたりします。

JDBCコネクタの取得

http://dev.mysql.com/downloads/connector/j/ からzipでダウンロード

mysql-connector-java-5.1.23-bin.jar をapach-jmeter/lib/ext 以下にコピー

JDBC Connection Configuration

f:id:dnond:20130308174544j:plain

  • Variable Name Boud to Pool

    任意の文字列。JDBC Reuest等に設定する、このDB接続設定を示す変数名。

  • Database URL

    jdbc:mysql://DBサーバーIPアドレス/データベース名

  • JDBS Driver Class

    mysqlなら、下記で固定。

     com.mysql.jdbc.Driver
    
  • Username

    DBユーザー名

  • Password

    DBパスワード

JDBC Request

f:id:dnond:20130308175110p:plain

今回は、スレッドグループでループさせ、1件ずつ値を取る形にしました。

  • Variable Name Boud to Pool

    どのJDBC Connection Configuration接続設定を使用するのか。

  • Query Type

    Select やUpdate等、クエリの種類を設定します。
    トランザクションもあるので、柔軟な構成が可能かと思います。
    今回は、SQL中に変数を仕込みたいので、Prepared Select Statementにしてみました。

  • Query

    発行するクエリです。「?」に変数がはめ込まれます。

      select person_id, update_date from person ORDER BY person_id limit 1 offset ?  ;
    
  • Parameter values

    プリペアードステートメントで使用される変数です。今回は「カウンタ」モジュールでインクリーズするようにしています。

      ${offset}
    
  • Parameter types

    Parameter valuesで設定した変数の型です。今回は整数を期待しているので、INTEGERです。

  • Variable names

    結果が格納される変数名です。複数の場合は、カンマ区切りが出来るようです。

  • Result variable name

    結果が格納される連想配列変数名です。

結果

f:id:dnond:20130308174758p:plain

「Variable names」と「Result variable name」の違い

Debug Samplerで結果を確認すると、下記のようになっているようです。

  • Variable namesの設定 val1_1というような変数名で値を格納しています。

  • Result variable nameの設定 設定した変数名に配列として格納されています。使うのには、こちらが便利そうです。