Go to the first, previous, next, last section, table of contents.

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

ここには MySQL ベンチマークスイート(と crash-me)の 技術上の解説が書かれるはずですが、まだ書かれていません。 現在、ベンチマークのコードと結果は MySQL ソースの中の `sql-bench' ディレクトリにあります。 (もちろん Web ページ http://www.mysql.com/information/crash-me.php にも)

このベンチマークは、なんの SQL 実装のパフォーマンスが良いのか悪いのかを、 いかなるユーザーに対しても示すベンチマークです。

Note that this benchmark is single threaded, so it measures the minimum time for the operations. We plan to in the future add a lot of multi-threaded tests to the benchmark suite.

For example, (run on the same NT 4.0 machine):

Reading 2000000 rows by index
Seconds Seconds
mysql 367 249
mysql_odbc 464
db2_odbc 1206
informix_odbc 121126
ms-sql_odbc 1634
oracle_odbc 20800
solid_odbc 877
sybase_odbc 17614
Inserting (350768) rows
Seconds Seconds
mysql 381 206
mysql_odbc 619
db2_odbc 3460
informix_odbc 2692
ms-sql_odbc 4012
oracle_odbc 11291
solid_odbc 1801
sybase_odbc 4802

In the above test MySQL was run with a 8M index cache.

We have gather some more benchmark results at http://www.mysql.com/information/benchmarks.html.

Note that Oracle is not included because they asked to be removed. All Oracle benchmarks have to be passed by Oracle! We believe that makes Oracle benchmarks VERY biased because the above bechmarks are supposed to show what a standard installation can do for a single client.

To run the benchmark suite, you have to download a MySQL source distribution, install the perl DBI driver, the perl DBD driver for the database you want to test and then do:

cd sql-bench
perl run-all-tests --server=#

where # is one of supported servers. You can get a list of all options and supported servers by doing run-all-tests --help.

crash-me は、データベースがサポートする機能、能力、制限について、 実際にクエリを走らせて確認します。 例えば、以下のような事について調べます:

We can find the result from crash-me on a lot of different databases at http://www.mysql.com/information/crash-me.php.

Go to the first, previous, next, last section, table of contents.