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

Jump to: navigation, search

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