JMeter は JDBC 接続を使って SQL を実行し DBMS の負荷テストもできるので試した。
1箇所以外はすんなり。ハマった1箇所だけメモしておく。
JDBC Connection Configuration の Connection Validation By Pool はデフォルトで有効で、 Validation に使用する SQL が次のように入力されている。
SELECT 1
これに気づかず、せっせと JDBC Request を追加して実行すると次のエラーに見舞われる。
Cannot create PoolableConnectionFactory (DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END-OF-STATEMENT;SELECT 1;, DRIVER=4.9.78)
これが出たら、上の図の Test While Idle を False にするか、DBMS に応じて Validation Query を編集する必要がある。
stack overflow の次の Q&A に記載があった。
DBCP - validationQuery for different Databases
リンク切れ時の備忘録として転記しておく。
Database validationQuery notes
hsqldb - select 1 from INFORMATION_SCHEMA.SYSTEM_USERS
Oracle - select 1 from dual
DB2 - select 1 from sysibm.sysdummy1
mysql - select 1
microsoft SQL Server - select 1 (tested on SQL-Server 9.0, 10.5 [2008])
postgresql - select 1
ingres - select 1
derby - values 1
H2 - select 1
Firebird - select 1 from rdb$database
この回答を書いた人のブログへのリンクもあったのでメモ。
validation query for various databases.
1時間以上ロス・・・は痛い。 orz