|
You read my previous article on MariaDB 10.1 GA Performance article, you may be wondering why I did not mention to MySQL 5.7. There are two reasons: First, MySQL at that time was not GA. Second, MySQL runs on Power8 is not stable.
This time, I'll come up with a benchmark to compare the performance difference between them. I chose some of the more common hardware, as most users will run such hosts. OVH is using a host of SP-64. 4-core Intel CPU, memory 64G. Disks in general, but the reference is a simplified read-only memory and from OLTP workloads.
To make things more interesting, I added the latest MySQL 5.6. So we now have four contrast: new MySQL5.7 GA and its predecessors and a new MariaDB10.1 GA and its predecessor. No more bullshit, and see the results.
For students who prefer numbers instead of the chart:
clients MariaDB 10.0.21 MariaDB 10.1.8 MySQL 5.6.27 MySQL 5.7.9
1,221,662,274,824,456 21499
2,412,204,215,545,314 40552
4,708,507,286,578,024 69 816
8,112,328,118,933,126,892 112 442
16113645119503 129 029 112 502
32113572119663 127 780 112 925
64111003117255 125 526 110 663
128,111,015,116,137 124 158 108 568
256,111,232,115,688 116 337 102 345
So it should be MySQL superior performance. But the information we get from these numbers is much more than that. Let's look can be extracted from these figures to what:
clients MariaDB 10.1 vs. MariaDB 10.0 MySQL 5.7 vs. MariaDB 10.1 MySQL 5.7 vs. MySQL 5.6
1 + 2,6% -5,5% -12,1%
2 + 2,3% -3,8% -10,5%
4 + 2,8% 4,2% -10,5%
8 + 5,9% -5,5% -11,4%
16 + 5,2% -5,9% -12,8%
32 + 5,4% -5,6% -11,6%
64 + 5,6% -5,6% -11,8%
128 + 4,6% -6,5% -12,6%
256 + 4,0% -11,5% -12,0%
The result of this comparison is surprising, MySQL 5.7.9 only than MariaDB 10.1.8 (I guess you should read in MariaDB blog) slow, but it is much slower than MySQL 27 years 5 June. This unfortunate trend has also been observed to others. MariaDB on the other hand can be upgraded from 10.0.21 to 10.1.8.
Benchmark details
In the use of the reference again sysbench. The reference is to use a single table of one million rows. Using a single or multiple tables for such a small machine will not have much difference. my.cnf as follows:
[Mysqld]
max_connections = 300
table_open_cache = 600
innodb_buffer_pool_size = 512M
performance-schema = false
secure_file_priv = / tmp
Note: The last line only for MySQL 5.7 is meaningful. The penultimate line (Disable Performance mode) makes sense only for MySQL. Yes, make sure you disable the performance mode or down a few percentage performance of MySQL. MariaDB is disabled by default in the performance mode.
To test the command like this:
sysbench-0.5 -test = lua / oltp.lua -oltp-table-size = 1000000 \
-oltp-read-only = on -oltp_point_selects = 1000 \
-oltp_sum_ranges = 0 -oltp_simple_ranges = 0 \
-oltp_order_ranges = 0 -oltp_distinct_ranges = 0 \
-max-requests = 0 -max-time = 100 -num-threads = ... run |
|
|
|