mysqlslapは,MySQLの負荷をエミュレーションできるクライアントアプリケーション。MySQLが公式でサポートしているツールになります。並列実行数やSQLの自動生成など機能豊富で色々な負荷試験ができそうです。MySQLをインストールすると、デフォルトでインストールされます。
実行してみる
$ mysqlslap [オプション] # 実行サンプル。ほぼmysql-cliと同じオプションで認証とかができる $ mysqlslap \ --no-defaults \ --concurrency=50 \ --iterations=10 \ --engine=innodb \ --auto-generate-sql \ --auto-generate-sql-add-autoincrement \ --auto-generate-sql-load-type=mixed \ --auto-generate-sql-write-number=1000 \ --number-of-queries=100000 \ --host=localhost \ --port=3306 \ --user=root
このほかにも * --auto-generate-sql-write-numberで各スレッドで実行する行挿入の回数を指定できる。 * --auto-generate-sql-load-type=にタイプ(mixed、read、write など)を指定すると負荷テストを指定したもので自動生成します
結果はこんな感じで見れます。
Benchmark Running for engine innodb Average number of seconds to run all queries: 0.015 seconds → 平均実行時間 Minimum number of seconds to run all queries: 0.015 seconds → 最小実行時間 Maximum number of seconds to run all queries: 0.015 seconds → 最大実行時間 Number of clients running queries: 1 → クライアントの数 Average number of queries per client: 0 → 1クライアントが発行したSQLの数