Select Random Ranges and Select Random Point

You are viewing an old version of this article. View the current version here.
  • select_random_ranges (select 10 ranges with a delta as parameter)
  • select_random_points (select 100 random points)

Findings:

select_random_ranges

  • A delta of 100 for the ranges gives 3 - 6% performance gain
  • A delta of 50 for the ranges gives 3 - 15% performance gain
  • A delta of 5 for the ranges gives up to 70% performance gain
  • A delta of 1 million shows no difference at all.

select_random_points

  • We see up to 150% performance gain fetching index only
  • We see up to 50% performance gain fetching index and data

The absolute numbers are highly RAM depended

  • We see an up to 250% performance difference on a 2GB system compared to a 4GB system.

MariaDB and MySQL were compiled with

BUILD/compile-amd64-max

MariaDB revision was:

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 the following 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 the following variable 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=512M \
--key_cache_partitions=32 \        # Off | 32 | 64
--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

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.