2011年2月18日金曜日

"mysql-bench"でMySQLのベンチマークの比較

スズキです。

こちらでベンチマークの取得までできたので、
今度は、ベンチマークの比較です。

とりあえず、下記コマンドで比較するベンチマークを取得します。

# ./run-all-tests --machine=micro1 --server=mysql --cmp=mysql --log &
# ./run-all-tests --machine=micro2 --server=mysql --cmp=mysql --log &

すると、下記のようにベンチマークの結果がファイルとして作成されます。

# ls -1 output/
ATIS-mysql-micro1-cmp-mysql
ATIS-mysql-micro2-cmp-mysql
RUN-mysql-micro1-cmp-mysql
RUN-mysql-micro2-cmp-mysql
alter-table-mysql-micro1-cmp-mysql
alter-table-mysql-micro2-cmp-mysql
big-tables-mysql-micro1-cmp-mysql
big-tables-mysql-micro2-cmp-mysql
connect-mysql-micro1-cmp-mysql
connect-mysql-micro2-cmp-mysql
create-mysql-micro1-cmp-mysql
create-mysql-micro2-cmp-mysql
insert-mysql-micro1-cmp-mysql
insert-mysql-micro2-cmp-mysql
select-mysql-micro1-cmp-mysql
select-mysql-micro2-cmp-mysql
transactions-mysql-micro1-cmp-mysql
transactions-mysql-micro2-cmp-mysql
wisconsin-mysql-micro1-cmp-mysql
wisconsin-mysql-micro2-cmp-mysql

そして、下記コマンドで比較の表を作成することができます。

# ./compare-results --cmp=mysql

HTMLの表を作成したい場合は、下記の"template.html"を作成します。

--------【template.html】--------
 text of chapter
--------

そして、下記のコマンドを実行します。

# ./compare-results --cmp=mysql --html

すると、次のような表が作成されます。


1mysql-micro1MySQL 5.1.54
2mysql-micro2MySQL 5.1.54  
Operation 1
mysql
2
mysql
Results per test in seconds:
ATIS9.00299.00
alter-table324.0020.00
big-tables203.00194.00
connect1110.001206.00
create463.00336.00
insert10465.0012692.40
select4859.795291.15
wisconsin35.00103.00
The results per operation:
alter_table_add (100)144.007.00
alter_table_drop (91)121.009.00
connect (10000)205.004.00
connect+select_1_row (10000)246.005.00
connect+select_simple (10000)17.0083.00
count (100)42.00209.00
count_distinct (1000)6.006.00
count_distinct_2 (1000)416.00390.00
count_distinct_big (120)176.00304.00
count_distinct_group (1000)258.00251.00
count_distinct_group_on_key (1000)82.00146.00
count_distinct_group_on_key_parts (1000)8.005.00
count_distinct_key_prefix (1000)5.0079.00
count_group_on_key_parts (1000)380.00372.00
count_on_key (50100)+1389.79+1879.15
create+drop (10000)51.0041.00
create_MANY_tables (10000)40.00249.00
create_index (8)29.002.00
create_key+drop (10000)369.0044.00
create_table (31)1.001.00
delete_all_many_keys (1)160.00473.00
delete_big (1)0.000.00
delete_big_many_keys (128)160.00473.00
delete_key (10000)1.0049.00
delete_range (12)3.00123.00
drop_index (8)28.002.00
drop_table (28)0.000.00
drop_table_when_MANY_tables (10000)1.001.00
insert (350768)455.00626.00
insert_duplicates (100000)7.008.00
insert_key (100000)491.00846.00
insert_many_fields (2000)104.002.00
insert_select_1_key (1)2.002.00
insert_select_2_keys (1)1.0031.00
min_max (60)130.004.00
min_max_on_key (85000)409.0028.00
multiple_value_insert (100000)1.0052.00
once_prepared_select (100000)81.00244.00
order_by_big (10)168.0013.00
order_by_big_key (10)9.0010.00
order_by_big_key2 (10)266.0057.00
order_by_big_key_desc (10)449.00219.00
order_by_big_key_diff (10)150.00471.00
order_by_big_key_prefix (10)14.00324.00
order_by_key2_diff (500)56.0017.00
order_by_key_prefix (500)32.001.00
order_by_range (500)36.001.00
outer_join (10)19.00268.00
outer_join_found (10)468.00274.00
outer_join_not_found (500)9.00265.00
outer_join_on_key (10)486.00325.00
prepared_select (100000)459.00456.00
select_1_row (100000)128.0076.00
select_1_row_cache (100000)7.00337.00
select_2_rows (100000)325.0089.00
select_big (80)338.00275.00
select_big_str (10000)3.00129.00
select_cache (10000)953.00549.00
select_cache2 (10000)491.001067.00
select_column+column (100000)102.0093.00
select_diff_key (500)6.005.00
select_distinct (800)2.00119.00
select_group (2911)11.00384.00
select_group_when_MANY_tables (10000)2.001.00
select_join (100)0.001.00
select_key (200000)+717.73+788.87
select_key2 (200000)561.00+836.43
select_key2_return_key (200000)+618.24581.00
select_key2_return_prim (200000)+738.01+716.56
select_key_prefix (200000)430.00+833.25
select_key_prefix_join (100)3.0060.00
select_key_return_key (200000)+693.04+765.28
select_many_fields (2000)99.00191.00
select_range (410)564.00542.00
select_range_key2 (25010)68.00217.00
select_range_prefix (25010)231.00223.00
select_simple (100000)5.00240.00
select_simple_cache (100000)72.00150.00
select_simple_join (500)0.000.00
update_big (10)7.00210.00
update_of_key (50000)5.0031.00
update_of_key_big (501)138.00278.00
update_of_primary_key_many_keys (256)332.0024.00
update_with_key (300000)661.00728.00
update_with_key_prefix (100000)179.0043.00
wisc_benchmark (114)2.001.00
TOTALS +17132.80+20335.54

さらに下記コマンドでグラフも作成することもできます。

# mkdir gif
# perl graph-compare-results --cmp=mysql
Here some things we already know ....
name --> gif/benchmark2-mysql.gif
※GDを利用しています。

作成したグラフは下記の通りです。



RDSのベンチマークも比較してみよう。
--------

0 コメント: