Tuesday, October 31, 2023

Perf regressions in MySQL from 5.6.21 to 8.0.35 using sysbench and a medium server, part 2

This is part 2 of my results from sysbench vs MySQL on a medium server. Part 1 is here. This post has results for MySQL 5.6.21, 5.6.31, 5.6.41 and 5.6.51.

tl;dr

  • Not much changes from 5.6.21 to 5.6.51 which is good
  • Full scans get ~10% slower from new CPU overhead (see Range queries, part 1)
Results

The spreadsheet with all of the numbers is here.

For all charts below:
  • The y-axis doesn't start at 0 to improve readability.
  • Each section has two charts - the first from the medium server, the second from the small server
  • The charts show relative throughput which is (QPS for $me / QPS for MySQL 5.6.21). When that value is less than one then the version is slower than MySQL 5.6.21.
Point queries, part 1

Summary
  • QPS drops by no more than 3% from MySQL 5.6.21 to 5.6.51
Point queries, part 2

Summary
  • QPS drops by no more than 3% from MySQL 5.6.21 to 5.6.51
  • QPS for SELECTs with a large inlist improves by up to 10%
Range queries, part 1

Summary:
  • The scan_range=100 microbenchmark does full table scans and MySQL 5.6.51 is 10% to 15% slower than 5.6.21 from new CPU overheads
  • Otherwise QPS for MySQL 5.6.51 is no more than 5% less than 5.6.21
Range queries, part 2

Summary
  • QPS drops by no more than 4% from MySQL 5.6.21 to 5.6.51
Writes

Summary
  • QPS drops by <= 3% on the medium server and <= 7% on the small server from MySQL 5.6.21 to 5.6.51
  • The improvement on the small server for update-inlist is interesting but I didn't explain it

No comments:

Post a Comment

Fixing some of the InnoDB scan perf regressions in a MySQL fork

I recently learned of Advanced MySQL , a MySQL fork, and ran my sysbench benchmarks for it. It fixed some, but not all, of the regressions f...