Performance Zone is brought to you in partnership with:

I specialise MySQL Server performance as well as in performance of application stacks using MySQL, especially LAMP. Web sites handling millions of visitors a day dealing with terabytes of data and hundreds of servers is king of applications I love the most. Peter is a DZone MVB and is not an employee of DZone and has posted 247 posts at DZone. You can read more from them at their website. View Full User Profile

MySQL versions shootout

01.05.2013
| 2969 views |
  • submit to reddit

As part of work on “High Performance MySQL, 3rd edition”, Baron asked me to compare different MySQL version in some simple benchmark, but on decent hardware.

So why not.

I took our Cisco UCS C250 and ran simple sysbench oltp read-write all data fits into memory workload.

Versions in question:

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1 (with built-in InnoDB)
  • MySQL 5.1 with InnoDB-plugin
  • MySQL 5.5
  • MySQL 5.6

All versions are vanilla MySQL, not Percona Server.

The results are there:

There is nothing unexpected, staring with InnoDB-plugin, MySQL scale much better on multi-cores, there is gain up to 1.7x in throughput.

What is interesting there, let’s take look on single thread results:

You can see that each new version is slower in single thread than previous.
It is actually easily explainable: each new version adds more features, which give more overhead.
Profiling MySQL 5.0 vs MySQL 4.1 couple years ago, I have seen biggest performance hit comes
from query parser. In MySQL 5.0 grammar became much bigger because of storage procedures and triggers.

And raw results, in tps (more is better)

threads MySQL 4.1 MySQL 5.0 MySQL 5.1 MySQL 5.1+InnoDB-plugin MySQL 5.5 MySQL 5.6.2
1 685.52 639.73 596.01 593.51 531.07 525.80
2 1306.50 1221.40 1139.60 1139.20 1076.59 1018.64
4 2274.83 2167.92 2031.80 2042.51 1937.64 1830.80
8 3879.11 3746.29 3606.02 3681.36 3522.65 3320.10
16 4373.82 4527.04 4392.81 6130.70 5881.40 5572.50
32 4591.42 4864.46 4698.39 7762.32 7548.93 7138.54
64 4688.41 5078.02 4910.21 7535.65 7269.47 6994.04

Scripts and results are also on our Launchpad Benchmark project

Published at DZone with permission of Peter Zaitsev, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)