MariaDB 10.1 和 MySQL 5.7 在普通商用硬件上的表现

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 和它的前身。就不再多说废话了,看结果。

MariaDB 10.1 和 MySQL 5.7 在普通商用硬件上的表现

对于那些更偏爱数字而非图表的同学:

clientsMariaDB 10.0.21MariaDB 10.1.8MySQL 5.6.27MySQL 5.7.9
122166227482445621499
241220421554531440552
470850728657802469816
8112328118933126892112442
16113645119503129029112502
32113572119663127780112925
64111003117255125526110663
128111015116137124158108568
256111232115688116337102345

所以应该是 MySQL 性能更加优越。但我们能从这些数字中获取的信息远不止这些。让我们看看还能从这些数字中提取到什么内容:

clientsMariaDB 10.1 vs. MariaDB 10.0MySQL 5.7 vs. MariaDB 10.1MySQL 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

相关推荐