Description:
While running variations of sysbench OLTP_RW test using special distribution for 5.5.3 and 5.5.4 the notable regression was observed.
In the test we populate table with 100k rows(using either special or uniform
distributions) and then access either whole dataset(100k) or some smaller
fraction(10k) with 100 threads using uniform or special distributions.
------------------------------------------------------------------
data | | |
distribution | oltp-dist-type=special | oltp-dist-type=uniform |
------------------------------------------------------------------
query | | | | | | |
distribution | rows | 553 | 554 | rows | 553 | 554 |
---------------------------------------|-------------------------|
uniform | | | | | | |
| 100k | 1017.44 | 861.91 | 100k | 1012.24 | 862.28 |
| 10k | 1023.41 | 821.70 | 10k | 1022.40 | 834.93 |
------------------------------------------------------------------
special | | | | | | |
| 100k | 1000.17 | 821.84 | 100k | 1000.34 | 813.50 |
| 10k | 907.50 | 31.78 | 10k | 903.45 | 48.90 |
------------------------------------------------------------------
How to repeat:
start 5.5.3/5.5.4 servers with defaults options
populate db with data using special distribution
-------------------------------------------------
sysbench --test=oltp --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --oltp-table-size=100000 --mysql-port=10000 prepare
populate db with data using uniform distribution
-------------------------------------------------
sysbench --test=oltp --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --oltp-table-size=100000 --mysql-port=10000 --oltp-dist-type=uniform prepare
run oltp_rw using special distribution
---------------------------------------
sysbench --forced-shutdown=1 --test=oltp --num-threads=100 --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --max-requests=0 --max-time=60 --oltp-table-size=<10000 or 100000> --mysql-port=10000 run
run oltp_rw using special distribution
---------------------------------------
sysbench --forced-shutdown=1 --test=oltp --num-threads=100 --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --max-requests=0 --max-time=60 --oltp-table-size=<10000 or 100000> --mysql-port=10000 --oltp-dist-type=uniform run
Description: While running variations of sysbench OLTP_RW test using special distribution for 5.5.3 and 5.5.4 the notable regression was observed. In the test we populate table with 100k rows(using either special or uniform distributions) and then access either whole dataset(100k) or some smaller fraction(10k) with 100 threads using uniform or special distributions. ------------------------------------------------------------------ data | | | distribution | oltp-dist-type=special | oltp-dist-type=uniform | ------------------------------------------------------------------ query | | | | | | | distribution | rows | 553 | 554 | rows | 553 | 554 | ---------------------------------------|-------------------------| uniform | | | | | | | | 100k | 1017.44 | 861.91 | 100k | 1012.24 | 862.28 | | 10k | 1023.41 | 821.70 | 10k | 1022.40 | 834.93 | ------------------------------------------------------------------ special | | | | | | | | 100k | 1000.17 | 821.84 | 100k | 1000.34 | 813.50 | | 10k | 907.50 | 31.78 | 10k | 903.45 | 48.90 | ------------------------------------------------------------------ How to repeat: start 5.5.3/5.5.4 servers with defaults options populate db with data using special distribution ------------------------------------------------- sysbench --test=oltp --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --oltp-table-size=100000 --mysql-port=10000 prepare populate db with data using uniform distribution ------------------------------------------------- sysbench --test=oltp --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --oltp-table-size=100000 --mysql-port=10000 --oltp-dist-type=uniform prepare run oltp_rw using special distribution --------------------------------------- sysbench --forced-shutdown=1 --test=oltp --num-threads=100 --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --max-requests=0 --max-time=60 --oltp-table-size=<10000 or 100000> --mysql-port=10000 run run oltp_rw using special distribution --------------------------------------- sysbench --forced-shutdown=1 --test=oltp --num-threads=100 --mysql-host=127.0.0.1 --mysql-user=root --mysql-db=sbtest --mysql-table-engine=innodb --max-requests=0 --max-time=60 --oltp-table-size=<10000 or 100000> --mysql-port=10000 --oltp-dist-type=uniform run