この章では、JdbcRunnerの概要を説明します。
JdbcRunnerとは、Oracle Database、MySQL、PostgreSQLなどRDBMSを対象とした負荷テストツールです。OLTPを想定した比較的短いトランザクションを定義して多重実行し、スループットとレスポンスタイムを測定することができます。
JdbcRunnerはJavaで実装されているため、JDBCドライバが提供されているRDBMSであれば製品を問わず使用することができます。
JdbcRunnerでは負荷テストのシナリオをスクリプトで記述します。これによって入力データの生成や条件分岐を柔軟に行うことができ、より実際のシステムに近い状況をシミュレートすることができます。スクリプト言語にはJavaScriptを採用しています。
コネクションプールとして、Apache Tomcatで用いられているApache Commons DBCPを使用しています。これによってより一般的なJava EEの構成に近い挙動を再現しています。
ただし、コネクションプールを利用していないシステムとは挙動が大きく異なることになります。
JdbcRunnerからSQLを発行する際は、必ずPreparedStatementを用いパラメータをバインドするように設計しています。他の負荷テストツール、特にMySQLをターゲットにしたものはパラメータのバインド機構を利用していないものが多いのですが、それらに比べより実際のシステムに近い性能の傾向を得ることができます。
ただし、パラメータのバインド機構を利用していないシステムとは性能の傾向が大きく異なることになります。
JdbcRunnerを動作させるには、以下の環境が必要です。
MySQLとPostgreSQLについてはJDBCドライバを内蔵しているため、別途JDBCドライバを用意する必要はありません。
JdbcRunner本体はNew BSD Licenseです。
JdbcRunnerでは以下のライブラリをそれぞれのライセンスに従って利用しています。JdbcRunnerを修正・再配布する場合は、これらのライセンスに対する考慮も必要となります。