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
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 性能更加优越。但我们能从这些数字中获取的信息远不止这些。让我们看看还能从这些数字中提取到什么内容:

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 10.1.8 发布下载,MySQL 分支 

Linux系统教程:如何检查MariaDB服务端版本 

MariaDB Proxy读写分离的实现

Linux下编译安装配置MariaDB数据库的方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a08fea2616554d7d3ae326ce495b56be.html