PostgreSQL の pgbench みたいな SQL Server 用ベンチマークツール

実際に発行する SQL を使ったベンチマークSQL Server でやりたいので、 使えそうなツールを探してみた。

必要な機能は次の通り。

  • ODBC 接続
  • ファイルから SQL を読み込んで実行
  • サーバーとデータベースを指定できる
  • 回数を指定して同じ SQL を繰り返し実行できる
  • 並列数を指定して同じ SQL 同時に複数実行できる

PostgreSQL なら pgbench があるのに。 同じようなツールが SQL Server に標準で付いていないのかな。

標準ではないけど、ベンチマークに使える Microsoft 製のツールは見つけた。

このユーティリティに含まれている ostress で、pgbench と同じようなことができた。

例えば、「Test.sql ファイルから SQL を読み込んで、ローカルの SQL Server Express にある TESTDB データベースに 10 回実行」する場合、 こんな感じ。

ostress -E -S"(local)\SQLEXPRESS" -r10 -d"TESTDB" -i".\Test.sql"