开发者社区> 问答> 正文

Sysbench OLTP 性能测试: MySQL-5.6 vs. MariaDB-10.报错

Oracle 刚刚发布了 MySQL 5.6.10 GA 版本,所以是时候更新下之前的性能测试数据了,此次的测试包括以下几个版本:

  • MySQL-5.5.29
  • MySQL-5.6.10
  • MariaDB-5.5.28a
  • MariaDB-10.0.1
此次测试还保留了 5.5 版本是为了进行回归测试。之前我们经常发现新版本在性能上反倒而落后的情况。 此次测试在不同的环境下执行,主要的不同是没用 SSD 而是使用高性能的带 512 兆 battery-backed 缓存的 RAID-5 存储。此外测试的机器具有 16 核,其中 12 核运行 mysqld ,另外 4 核运行 sysbench。 测试使用 sysbench-0.5 OLTP ,包好 8 个表和 10G 的数据。InnoDB 的缓冲池大小是 16G,日志 4G。不同的磁盘系统要求不同的 InnoDB 配置:
  • innodb_io_capacity = 1000 (was 20000 for SSD)
  • innodb_flush_neighbors = 1 (was 0 for SSD)
下面是测试结果,首先是 OLTP 只读: 20130213-sb-ro-tps 非常奇怪,MySQL 5.6 在此轮测试中居然表现异常。在 8 个线程时相差不大,在 16 个线程时变现最佳。但更高的并发下性能就迅速下降,甚至比 MySQL 5.5 还差。而 MariaDB 10.0 则比 MariaDB 5.5 表现上要差一些,但没那么明显。 而响应时间图表则表示比较好而且平滑: 20130213-sb-ro-rt MySQL-5.6 和 MariaDB-10.0 看起来要稍微好一些,意味着它们能更好的分配 CPU 周期。 声明: 此次测试没有使用线程池。Oracle 的线程池实现已经闭源了,因此没法进行测试和使用,如果在 MariaDB 上使用线程池的话就显得有点不公平。 如果你想了解线程池对性能的影响,可查看之前的两篇文章: 第二个测试:OLTP 读写测试 20130213-sb-rw-tps 这个图跟前一个测试差不多,MySQL 5.6 和 MariaDB 10.0 在性能表现上都比 5.5 版本要下滑不少,在高负载的情况下,下滑了 10% 左右。 这是一个人所共知的事实,MySQL 5.5 在高负载下因为同步的 flush 操作导致的性能下滑。 响应时间图相对要好一些: 20130213-sb-rw-rt 这是一个好消息,5.5 版本在 64 个线程或者更多线程的情况下响应时间差了很多。而 MySQL 5.6 和 MariaDB 10.0 的适应性 flush 算法似乎工作良好。 这里还有一个问题:如果你使用多个缓冲池实例,你将会看到写操作延迟更厉害。上面的结果中,只读测试使用了 16 个缓冲池,而读写测试只用了 1个。 结论:
  • MySQL-5.6 性能表现比前一个版本要差,特别是高并发的情况下。这与 Oracle 发布的测试结果不符。我只能推测为什么结果差异那么大,我猜是 Oracle 闭源的线程池以及 Oracle 在更大的机器上进行测试导致。
  • 使用单个缓冲池情况下不需要担心写延迟的问题。同时 MySQL 5.6 允许高达 512G 的 redo 日志可降低同步 flush 操作。
此次测试的脚本可通过下面地址访问: http://bazaar.launchpad.net/~ahel/maria/mariadb-benchmarks/revision/20 欢迎大家重做这个测试并与我们分享测试结果。 via mariadb

展开
收起
kun坤 2020-06-09 11:48:10 950 0
1 条回答
写回答
取消 提交回答
  • 哇哇,到底是好,还是差啊?!######

    引用来自“铂金小鬼”的答案

    哇哇,到底是好,还是差啊?!
    半斤八两,在误差允许范围内,哈哈 ######差距不大的话…我还是愿意用mysql######!!!!!!!!!!!没看懂###### 按照以往的"经验"  凡是出现Mysql的文章都会被某些人"喷"的,正在奇怪这篇文章怎么没人喷口水呢,拖上一看 原来作者是站长 难怪... ######呵呵,受人敬仰的番薯还是很客观公正的,这个测试也确实很有深度的######翻译的###### mysql这么好的东西,为啥乱喷,Oracle 虽然商业化严重,但是其技术还是可以的吧  ######

    引用来自“Mallon”的答案

    引用来自“铂金小鬼”的答案

    哇哇,到底是好,还是差啊?!
    半斤八两,在误差允许范围内,哈哈
    我也赞同,差不多性能,还是愿意使用MySQL。 ######  居然版本越高 性能越差 这是要做啥?刚想换个新版本试试...###### on 16cores MySQL 5.6 is still same or faster than 5.5, but, of course, on a bigger server with 24, 32 or more cores you'll see a real MySQL 5.6 power in action!  原来那篇性能测试的文章里面说了啊,在16核的时候差不多快的,不过地24和36核下,5.6比5.5快得多。 ######存储引擎还没换过。。。######我们继续坚持用MySQL 5.5,呵呵
    2020-06-09 11:48:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像