This has results for the sysbench benchmark on a 2-socket, 24-core server. A post with results from 8-core and 32-core servers is here.
tl;dr
- old bad news - there were many large regressions from 5.6 to 5.7 to 8.0
- new bad news - there are some new regressions after MySQL 8.0
The read-heavy microbenchmarks are run for 600 seconds and the write-heavy for 900 seconds. The benchmark is run with 16 clients and 8 tables with 10M rows per table.
I provide charts below with relative QPS. The relative QPS is the following:
(QPS for some version) / (QPS for base version)
- from 5.6 to 5.7 there are big improvements for 5 tests, no changes for 2 tests and small regressions for 2 tests
- from 5.7 to 8.0 there are big regressions for all tests
- from 8.0 to 9.5 performance is stable
- for 9.5 the common result is ~20% less throughput vs 5.6
- context switch rate (cs/o) is stable, mutex contention hasn't changed
- CPU per query (cpu/o) drops by 35% from 5.6 to 5.7
- CPU per query (cpu/o) grows by 23% from 5.7 to 8.0
- CPU per query (cpu/o) is stable from 8.0 through 9.5
- from 5.6 to 5.7 throughput drops by 10% to 15%
- from 5.7 to 8.0 throughput drops by about 15%
- from 8.0 to 9.5 throughput is stable
- for 9.5 the common result is ~30% less throughput vs 5.6
- context switch rates are low and can be ignored
- CPU per query (cpu/o) grows by 11% from 5.6 to 5.7
- CPU per query (cpu/o) grows by 15% from 5.7 to 8.0
- CPU per query (cpu/o) is stable from 8.0 through 9.5
- from 5.6 to 5.7 there are big improvements for 2 tests, no changes for 1 tests and regressions for 5 tests
- from 5.7 to 8.0 there are regressions for all tests
- from 8.0 through 9.5 performance is stable
- for 9.5 the common result is ~25% less throughput vs 5.6
- context switch rates are similar
- CPU per query (cpu/o) grows by 16% from 5.6 to 5.7
- CPU per query (cpu/o) grows by 15% from 5.7 to 8.0
- CPU per query (cpu/o) is stable from 8.0 through 9.5
- from 5.6 to 5.7 there are big improvements for 9 tests and no changes for 1 test
- from 5.7 to 8.0 there are regressions for all tests
- from 8.4 to 9.x there are regressions for 8 tests and no change for 2 tests
- for 9.5 vs 5.6: 5 are slower in 9.5, 3 are similar and 2 are faster in 9.5
- in 5.7, CPU per insert drops by 30% while context switch rates are stable vs 5.6
- in 8.0, CPU per insert grows by 36% while context switch rates are stable vs 5.7
- in 9.5, CPU per insert grows by 3% while context switch rates grow by 23% vs 8.4









































