このベンチマークスィートは、SQL
実装のパフォーマンスを向上または低下させる操作をユーザーに示すことを目的としています。MySQL
ソース配布の
sql-bench
ディレクトリにあるコードと結果を確認することでベンチマークに関するヒントが得られます。
このベンチマークはシングルスレッドであるため、実行される操作の最短時間が測定されていることに注意してください。将来はこのベンチマークスィートにマルチスレッドのテストも多数追加する予定です。
ベンチマークスィートを使用するには、次の要件を満たす必要があります。
ベンチマークスィートは、MySQL ソース配布によって提供されます。http://dev.mysql.com/downloads/ のサイトからリリースされている配布をダウンロードするか、現在の開発ソースツリーを使用できます。詳細は、項2.10.3. 「開発ソースツリーからのインストール」 を参照してください。
ベンチマークスクリプトは Perl
で作成され、データベースサーバーへのアクセスには
Perl DBI モジュールを使用しているため、DBI
のインストールが必要である。テスト対象のサーバーのそれぞれにサーバー専用の
DBD
ドライバも必要である。たとえば、MySQL、PostgreSQL、DB2
をテストするには、DBD::mysql
、DBD::Pg
、DBD::DB2
のモジュールをインストールする必要がある。項2.15. 「Perl のインストールに関する注釈」
を参照してください。
MySQL
ソース配布入手後、ベンチマークスィートは、MySQL
ソース配布の
sql-bench
ディレクトリにあります。ベンチマークテストを実行するには、MySQL
を構築し、ロケーションを
sql-bench
ディレクトリに変更し、run-all-tests
スクリプトを実行します。
shell>cd sql-bench
shell>perl run-all-tests --server=
server_name
server_name
はサポートされるサーバーの 1
つを表します。すべてのオプションとサポート対象サーバーの一覧を取得するには、このコマンドを呼び出してください。
shell> perl run-all-tests --help
crash-me スクリプトも
sql-bench
ディレクトリにあります。crash-me
では、実際のクエリーを実行することによって、データベースシステムがサポートする機能と、その性能と制限を判定しようとします。たとえば、次についての判定が行われます。
サポートされるデータ型
サポートされるインデックス数
サポートされる関数
使用可能なクエリーのサイズ
使用可能な
VARCHAR
カラムのサイズ
ベンチマーク結果の詳細については、http://www-jp.mysql.com/why-mysql/benchmarks/ を参照してください。