This wraps up another round of benchmarks. My goal was to determine whether there were CPU regressions in MySQL and Postgres. I found more in MySQL than Postgres.
I used the Insert Benchmark and sysbench. I also ran tests with TSBS but ran out of time to write up the results. Tests were run on small servers that I have at home. It would be nice to repeat these tests using larger servers in the cloud, perhaps someone else will do that.
The interesting result is that CPU regressions in MySQL reduce throughput by 10% to 20% between each major release. While my tests were limited to 5.6, 5.7 and 8.0 I saw similar problems years ago when I was able to compile older releases from source. Low-concurrency CPU regressions have been a thing with MySQL, and they still are a thing. Fortunately Postgres is the existence proof that the regressions can be avoided.
- IO-bound summary that compares Postgres and MySQL
- IO-bound for Postgres, MySQL/InnoDB and MySQL/MyRocks
- In-memory summary that compares Postgres and MySQL
- In-memory for Postgres, MySQL/InnoDB and MySQL/MyRocks
- In-memory scan performance for Postgres and MySQL