List:Internals« Previous MessageNext Message »
From:SDiZ Cheng Date:September 3 2001 1:06pm
Subject:Benchmark
View as plain text  
I have done some benchmark on my machine against mysql-3.23.41 and 
mysql-4.0 (with laterest changeset from sasha for some test cases) on 
a dual P-II Xeon 550 with 512M ram on Linux 2.4.4.
The result is somehow disappointed for me as i can't see much performance 
improvment in mysql-4.0. And there is some performance degrade in 
some connect, delete/drop, order by, or key2.
Is this result expected? or have i done anything wrong in the benchmark?

--------------
[client]
port            = 3306
socket          = /tmp/mysql.sock

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
set-variable    = key_buffer=16M
set-variable    = max_allowed_packet=1M
set-variable    = table_cache=64
set-variable    = sort_buffer=512K
set-variable    = net_buffer_length=8K
set-variable    = myisam_sort_buffer_size=8M
innodb_data_file_path = ibdata1:400M
innodb_data_home_dir = /usr/local/mysql4/var/
innodb_log_group_home_dir = /usr/local/mysql4/var/
innodb_log_arch_dir = /usr/local/mysql4/var/
set-variable = innodb_mirrored_log_groups=1
set-variable = innodb_log_files_in_group=3
set-variable = innodb_log_file_size=5M
set-variable = innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_log_archive=0
set-variable = innodb_buffer_pool_size=16M
set-variable = innodb_additional_mem_pool_size=2M
set-variable = innodb_file_io_threads=4
set-variable = innodb_lock_wait_timeout=50

--------------
This is the result file of the different benchmark tests.

The number in () after each tests shows how many SQL commands the particular
test did.  As one test may have many different parameters this gives only
a rough picture of what was done.  Check the source for more information :)

Keep in mind that one can't compare benchmarks run with different --cmp
options. The --cmp options sets the all limits according to the worst
limit for all server in the benchmark.

Numbers marked with '+' are estimated according to previous runs because
the query took longer than a given time-limit to finish. The estimation
shouldn't be far from the real result thought.

Numbers marked with '?' contains results that gave wrong result. This can only
be used as an indication of how long it took for the server to produce a wrong
result :)

Numbers marked with '*' are tests that was run a different number times
than the test in the first column.  The reason for this is normally that the
marked test was run with different options that affects the number of tests
or that the test was from another version of the MySQL benchmarks.

Hope this will give you some idea how each db is performing at what thing ....
Hope you like it .... Luuk & Monty (1997)

The result logs which where found and the options:
 1 mysql_fast-Linux_2.4.4_i686             : MySQL 3.23.41 debug --fast
--socket=/tmp/mysql.sock
 2 mysql_fast-Linux_2.4.4_mysql4           : MySQL 4.0.0 debug --fast
--socket=/tmp/mysql.sock

=====================================================
Operation                           |      1|      2|
                                    |mysql_f|mysql_f|
-----------------------------------------------------
Results per test in seconds:                        |
-----------------------------------------------------
ATIS                                |  68.00|  71.00|
alter-table                         |  22.00|  22.00|
big-tables                          |  47.00|  48.00|
connect                             | 106.00| 149.00|
create                              | 401.00| 434.00|
insert                              |3465.00|3498.00|
select                              |+2773.00|+2501.00|
wisconsin                           |  10.00|   9.00|
-----------------------------------------------------
The results per operation:                          |
-----------------------------------------------------
alter_table_add (20)                |   6.00|   6.00|
alter_table_drop (20)               |   5.00|   6.00|
book-keeping (8)                    |  13.00|  15.00|
connect (10000)                     |  17.00|  19.00|
connect+select_1_row (10000)        |  21.00|  56.00|
connect+select_simple (10000)       |  19.00|  21.00|
count (100)                         |  69.00|  70.00|
count_distinct (1000)               | 119.00|  72.00|
count_distinct_2 (1000)             | 112.00|  75.00|
count_distinct_big (120)            | 174.00|  95.00|
count_distinct_group (1000)         | 131.00| 101.00|
count_distinct_group_on_key (1000)  | 115.00|  92.00|
count_distinct_group_on_key_parts (1| 131.00| 101.00|
count_distinct_key_prefix (1000)    | 106.00|  61.00|
count_group_on_key_parts (1000)     | 103.00|  99.00|
count_on_key (50100)                |+983.00|+909.00|
create+drop (10000)                 |  18.00|  21.00|
create_MANY_tables (10000)          | 337.00| 328.00|
create_index (8)                    |   6.00|   5.00|
create_key+drop (10000)             |  21.00|  25.00|
create_table (31)                   |   0.00|   0.00|
delete_all (12)                     |  26.00|  23.00|
delete_all_many_keys (1)            |  81.00|  74.00|
delete_big (1)                      |   0.00|   1.00|
delete_big_many_keys (128)          |  81.00|  74.00|
delete_key (10000)                  |   4.00|   5.00|
drop_index (8)                      |   5.00|   5.00|
drop_table (28)                     |   0.00|   0.00|
drop_table_when_MANY_tables (10000) |  18.00|  23.00|
insert (350768)                     |  52.00|  50.00|
insert_duplicates (100000)          |  32.00|  34.00|
insert_key (100000)                 | 108.00| 102.00|
insert_many_fields (2000)           |  14.00|  15.00|
insert_select_1_key (1)             |  13.00|  13.00|
insert_select_2_keys (1)            |  16.00|  15.00|
min_max (60)                        |  52.00|  51.00|
min_max_on_key (85000)              | 361.00| 376.00|
multiple_value_insert (100000)      |  12.00|  12.00|
order_by_big (10)                   |  74.00|  77.00|
order_by_big_key (10)               |  67.00|  68.00|
order_by_big_key2 (10)              |  59.00|  61.00|
order_by_big_key_desc (10)          |  69.00|  71.00|
order_by_big_key_diff (10)          |  74.00|  75.00|
order_by_big_key_prefix (10)        |  65.00|  66.00|
order_by_key2_diff (500)            |   7.00|   7.00|
order_by_key_prefix (500)           |   5.00|   5.00|
order_by_range (500)                |   5.00|   7.00|
outer_join (10)                     | 136.00| 129.00|
outer_join_found (10)               | 129.00| 125.00|
outer_join_not_found (500)          |  97.00|  93.00|
outer_join_on_key (10)              | 110.00| 108.00|
select_1_row (10000)                |   3.00|   4.00|
select_2_rows (10000)               |   5.00|   5.00|
select_big (80)                     |  61.00|  64.00|
select_big_str (10000)              |  35.00|  37.00|
select_column+column (10000)        |   4.00|   5.00|
select_diff_key (500)               | 294.00| 286.00|
select_distinct (800)               |  20.00|  19.00|
select_group (2911)                 | 117.00| 114.00|
select_group_when_MANY_tables (10000|   7.00|  37.00|
select_join (100)                   |   3.00|   4.00|
select_key (200000)                 | 164.00| 163.00|
select_key2 (200000)                | 175.00| 192.00|
select_key2_return_key (200000)     | 172.00| 189.00|
select_key2_return_prim (200000)    | 174.00| 190.00|
select_key_prefix (200000)          | 184.00| 194.00|
select_key_prefix_join (100)        |  23.00|  23.00|
select_key_return_key (200000)      | 158.00| 165.00|
select_many_fields (2000)           |  33.00|  33.00|
select_query_cache (10000)          | 187.00| 209.00|
select_query_cache2 (10000)         | 187.00| 209.00|
select_range (410)                  | 264.00| 261.00|
select_range_key2 (25010)           |  27.00|  29.00|
select_range_prefix (25010)         |  30.00|  32.00|
select_simple (10000)               |   2.00|   2.00|
select_simple_join (500)            |   3.00|   2.00|
update_big (10)                     |  50.00|  40.00|
update_of_key (50000)               |  28.00|  53.00|
update_of_key_big (501)             |  48.00|  44.00|
update_of_primary_key_many_keys (256|  54.00|  53.00|
update_with_key (300000)            | 130.00| 146.00|
update_with_key_prefix (100000)     |  45.00|  51.00|
wisc_benchmark (114)                |   7.00|   6.00|
-----------------------------------------------------
TOTALS                              |+6972.00|+6803.00|
=====================================================


Thread
BenchmarkSDiZ Cheng3 Sep
  • Re: BenchmarkSasha Pachev3 Sep
  • Re: BenchmarkSDiZ Cheng4 Sep
  • BenchmarkMichael Widenius5 Sep