If you are terrified by the stability of the results in MySQL in my previous post, I am going to show what we can get with Percona Server. This is also to address the results presented there Benchmarking MariaDB-5.3.4
The initial benchmark is described in Benchmarks of Intel 320 SSD 600GB, and the result for MySQL 5.5.20 in case with 4 (46GB of data) and 16 tables (184GB of data) you can see in my experiments with R graphics.
How do we solve it in Percona Server ? There is whole set of improvement we made, like:
- Big log files
- Tuned flushing algorithm
- Disable flushing of neighbor pages
and the configuration to provide better experience on SSD is :
innodb_flush_neighbor_pages = 0
innodb_adaptive_flushing_method = keep_average
innodb_log_block_size = 4096
innodb_log_file_size = 4G
Versions: MySQL 5.5.20, Percona Server 5.5.19
With these settings we have following results:
As you see with Percona Server we have stable and predictable lines.
and compare the average (middle line inside box) for whole 1h run, we may get impression that average throughput for Percona Server is worse, because averages for 16 tables are:
- MySQL: 3658 tps
- Percona Server: 3487 tps
One, looking on this graph, may come to the conclusion: wow, there is a regression in Percona Server.
But if we cut of first 1800 sec, to exclude warmup period, the average will be different:
- MySQL: 3746 tps
- Percona Server: 3704 tps
And for comparison, average throughput for 4 tables:
- MySQL: 3882 tps
- Percona Server: 6735 tps
The Percona Server is still slower, but you say me, would you rather prefer a stable throughput or sporadic jumps ? Furthermore, there is a way to improve throughput in Percona Server: increase innodb_log_file_size.
So, in the conclusion, you can see that with a proper tuning, Percona Server/XtraDB outperforms MySQL, and provides a more stable throughput. Of course if a tuning is too hard to figure it out, you always can fall back to the vanilla InnoDB-plugin, like MariaDB suggests in Benchmarking MariaDB-5.3.4.
Raw results and scripts are on Benchmarks Launchpad