use 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.
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
No comments:
Post a Comment