Three Times Fifteen Minutes Runs on perro with 5.2-wl86 key cache partitions off, 8, and 32 and key buffer size 75
From Askmonty.org
MariDB sysbench benchmark comparison for key_cache_partitions in % with key_buffer_size = 75MB
Each test was run 3 times for 15 minutes with 3 minutes warmup.
Number of threads
1 4 8 16 32 64 128
sysbench test
oltp_complex_ro
8 / off 3.05 -0.10 0.57 1.00 -0.05 0.15 2.50
32 / off 3.04 -26.61* 0.89 -0.02 1.03 0.44 2.94
oltp_simple
8 / off -0.95 -1.10 -1.17 1.36 -2.65 -0.59 -1.01
32 / off 0.76 -0.02 0.66 2.75 1.96 3.05 -0.86
select
8 / off -1.45 -0.68 -2.31 -27.61* -0.52 -3.97 -0.24
32 / off -0.87 -1.63 -1.15 -2.10 0.44 1.12 1.39
update_index
8 / off -2.55 8.29* 3.14 4.16 1.13 1.95 1.29
32 / off -2.27 9.46* -0.12 2.64 0.69 -7.26* -0.24
( 8/off*100)-100
(32/off*100)-100
* means due to unusual high STDEV (see OO.org spreadsheet for details)
off means key_cache_partitions off 8 means key_cache_partitions = 8 32 means key_cache_partitions = 32
Benchmark was ran on perro: Quad core Intel 3.2GHz. with 2GB RAM
MariaDB and MySQL was compiled with
BUILD/compile-amd64-max
MariaDB revision is: revno: 2742 committer: Igor Babaev <igor@askmonty.org> branch nick: maria-5.2-keycache timestamp: Tue 2010-02-16 08:41:11 -0800 message:
WL#86: Partitioned key cache for MyISAM. This is the base patch for the task.
sysbench was run with this parameters:
--oltp-table-size=20000000 \ # 20 million rows. --max-requests=0 \ --mysql-table-engine=MyISAM \ --mysql-user=root \ --mysql-engine-trx=no \ --myisam-max-rows=50000000 \ --rand-seed=303
and this variable part of parameters
--num-threads=$THREADS --test=${TEST_DIR}/${SYSBENCH_TEST}
Configuration used for MariDB:
--no-defaults \ --datadir=/mnt/data/sysbench/data \ --language=./sql/share/english \ --key_buffer_size=75M \ --key_cache_partitions=32 \ # Off | 8 | 32 --max_connections=256 \ --query_cache_size=0 \ --query_cache_type=0 \ --skip-grant-tables \ --socket=/tmp/mysql.sock \ --table_open_cache=512 \ --thread_cache=512 \ --tmpdir=/mnt/data/sysbench

