8.12.2 MySQL ベンチマークスイート

このベンチマークスイートは、特定の SQL 実装のパフォーマンスが向上または低下する操作をユーザーに示すことを目的としています。MySQL ソース配布の sql-bench ディレクトリにあるコードと結果を確認することで、ベンチマークの動作について十分に理解できます。

このベンチマークはシングルスレッドであるため、実行される操作の最短時間を測定します。将来はこのベンチマークスイートにマルチスレッドのテストも追加する予定です。

ベンチマークスイートを使用するには、次の要件を満たす必要があります。

  • ベンチマークスイートは、MySQL ソース配布によって提供されます。http://dev.mysql.com/downloads/ からリリース済みの配布をダウンロードするか、現在の開発ソースツリーを使用します。(セクション2.9.3「開発ソースツリーを使用して MySQL をインストールする」を参照してください。)

  • ベンチマークスクリプトは Perl で書かれ、データベースサーバーにアクセスするために Perl DBI モジュールを使用しているため、DBI をインストールする必要があります。さらに、テスト対象のサーバーのそれぞれにサーバー固有の DBD ドライバも必要です。たとえば、MySQL、PostgreSQL、および DB2 をテストするには、DBD::mysqlDBD::PgDBD::DB2 のモジュールがインストールされている必要があります。セクション2.13「Perl のインストールに関する注釈」 を参照してください。

MySQL ソース配布の入手後、その sql-bench ディレクトリにあるベンチマークスイートを見つけることができます。ベンチマークテストを実行するには、MySQL を構築し、場所を sql-bench ディレクトリに変更し、run-all-tests スクリプトを実行します。

shell> cd sql-bench
shell> perl run-all-tests --server=server_name

server_name はサポートされるいずれかのサーバーの名前にするべきです。すべてのオプションとサポート対象サーバーの一覧を取得するには、このコマンドを呼び出します。

shell> perl run-all-tests --help

crash-me スクリプトも sql-bench ディレクトリにあります。crash-me では、実際のクエリーを実行することによって、データベースシステムがサポートする機能と、その性能と制限を判断しようとします。たとえば、次を判断します。

  • サポートされるデータ型

  • サポートされるインデックス数

  • サポートされる関数

  • 使用可能なクエリーの大きさ

  • 使用可能な VARCHAR カラムの大きさ

ベンチマーク結果の詳細については、http://www.mysql.com/why-mysql/benchmarks/ を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.