MariaDB 10.1 和 MySQL 5.7 在普通商用硬件上的表现
你读到我的上一篇文章关于 MariaDB 10.1 GA 性能的文章时,你可能会困惑我为什么对 MySQL 5.7 只字未提。原因有两个:首先,MySQL 在那时还不是 GA。其次,MySQL 在 Power8 上运行并不稳定。
这次,我会拿出一个比较基准来对比他们之间的性能差别。我选了一些比较普通的硬件,因为大多数用户将运行这样的主机。用的是一个OVH的SP-64主机。4核英特尔CPU,内存为64G。磁盘一般,但基准又是一个简化的只读OLTP往返内存的工作负载。
为了让事情更有趣,我加了最新的 MySQL 5.6。所以我们现在有4个对比:全新的 MySQL5.7 GA和它的前辈和全新 MariaDB10.1 GA 和它的前身。就不再多说废话了,看结果。
对于那些更偏爱数字而非图表的同学:
clients | MariaDB 10.0.21 | MariaDB 10.1.8 | MySQL 5.6.27 | MySQL 5.7.9 |
---|---|---|---|---|
1 | 22166 | 22748 | 24456 | 21499 |
2 | 41220 | 42155 | 45314 | 40552 |
4 | 70850 | 72865 | 78024 | 69816 |
8 | 112328 | 118933 | 126892 | 112442 |
16 | 113645 | 119503 | 129029 | 112502 |
32 | 113572 | 119663 | 127780 | 112925 |
64 | 111003 | 117255 | 125526 | 110663 |
128 | 111015 | 116137 | 124158 | 108568 |
256 | 111232 | 115688 | 116337 | 102345 |
所以应该是 MySQL 性能更加优越。但我们能从这些数字中获取的信息远不止这些。让我们看看还能从这些数字中提取到什么内容:
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% |
这种比较的结果是令人惊讶的,MySQL 5.7.9不仅比 MariaDB 10.1.8(我猜你应该阅读,在MariaDB博客)慢,而且它也比 MySQL 的27年6月5日慢得多。这个不幸的趋势也被其他人观察到了。 MariaDB 另一方面可以从 10.0.21 升级至 10.1.8。
基准测试详细信息
在使用基准再次sysbench的。基准是使用单个一百万行的表。使用单个或多个表对这样一个小机器不会产生太大的差别。 my.cnf如下:
[mysqld]
max_connections = 300
table_open_cache = 600
innodb_buffer_pool_size = 512M
performance–schema = false
secure_file_priv = /tmp
注意:最后一行只对 MySQL 5.7 是有意义的。而倒数第二行(禁用性能模式)只对 MySQL 有意义。没错,请确保您禁用性能模式或压低 MySQL 的性能几个百分比。 MariaDB 默认情况下是禁用性能模式的。
用以测试的命令是这样的:
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
MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里
英文原文:MariaDB 10.1 and MySQL 5.7 performance on commodity hardware