This is part 5 of my results from sysbench vs MySQL on a medium server - see part 1, part 2, part 3 and part 4. This post documents how performance changes from MySQL 8.0.27 to 8.0.32.
QPS decreased by ~10% for many of the sysbench tests from MySQL 8.0.27 to 8.0.31. The problem is new CPU overheads from code changes that I am still documenting. While perf regressions over time in MySQL are to be expected, regressions of this size are not and hopefully can be fixed.
Some of this is thanks to changes in the InnoDB record layer. Hopefully this gets fixed, if not use MyRocks. Percona has bug PS-8822 open for this. I have a blog post from the Insert Benchmark for this.
tl;dr:
- Bug 102037 was fixed in MySQL 8.0.31 which improves QPS for many point query tests
- Other changes, including changes to the InnoDB record layer, increase CPU overhead and reduce performance for many of the tests not helped by the fix for bug 102037.
- For point queries MySQL 8.0.32 gets ~8% less QPS than 8.0.27 in the cases not helped by the bug 102037 fix
- For range queries MySQL 8.0.32 gets ~9% less QPS than 8.0.27
- For writes MySQL 8.0.32 gets ~10% less QPS than 8.0.27
Results
For all charts below:
- The y-axis doesn't start at 0 to improve readability.
- Each section has two charts - the first for tests using the medium server, the second for tests using the small server.
- The charts show relative throughput which is (QPS for $me / QPS for MySQL 8.0.27). When that value is less than one then the version is slower than MySQL 8.0.27.
- Fixing bug 102037 helps many of the point query tests
- Tests not helped by the fix for bug 102037 get ~8% less QPS in 8.0.32 vs 8.0.27
- Summary
- Fixing bug 102037 helps many of the point query tests
- Tests not helped by the fix for bug 102037 get ~8% less QPS in 8.0.32 vs 8.0.27
No comments:
Post a Comment