MariaDB-5.3.4 基准测试

上周末,来自 Percona 的 Vadim 发布了他的MariaDB 5.3.4 基准测试结果。作为 Monty Program 新的基准测试人员,我借此机会补充一些我自己的结果。

Vadim 评论中的一个问题是,将 MariaDB-5.3 与 MySQL-5.5 进行比较是否公平。或者,是否应该与 MySQL-5.1 进行比较。答案是:关系不大。MySQL-5.5 和 MySQL-5.1 在 Sysbench OLTP 基准测试中显示出非常相似的结果。

因此,我创建了一个与 Vadims 非常相似的 Sysbench 环境,并测试了以下版本的 MySQL Server

  • MariaDB-5.3.4 – Monty Program 的发布候选版本,同时使用 XtraDB 和 InnoDB 插件
  • Percona-Server 5.1.61,因为它基于与 MariaDB-5.3 相同的 XtraDB 版本
  • Percona-Server 5.5.20 – 当前的 Percona 旗舰版本
  • MySQL-5.5.20 – 当前的 Oracle 旗舰版本

结果

确实,MariaDB-5.3.4 的扩展性明显不如 MySQL-5.5.20。然而,Percona-Server 5.1.61 的表现几乎完全相同,而 Percona-Server 5.5.20 仅略好。如果我们使用 InnoDB 插件而不是默认的 XtraDB 运行 MariaDB-5.3.4,那么 MariaDB 将优于 Percona-Server 5.5.20。

因此,我们将在未来版本的 MariaDB 二进制发行版中附带 InnoDB 插件。带有 InnoDB 插件的 MySQL-5.1.61(图表中未显示)介于 MariaDB-5.3.4(InnoDB 插件) 和 MySQL-5.5.20 之间。我们目前正在调查为什么 MySQL-5.1 比 MariaDB-5.3 快,即使使用相同的存储引擎。

请记住,Sysbench 是一个高度合成的基准测试。实际工作负载可能会产生不同的结果。此外,此基准测试使用了固态硬盘。使用旋转磁盘的存储系统可能会早得多达到饱和,然后会使峰值平坦化。

如果我应该得出一个结论,那么我会说,对于最高的并发级别,您应该选择 MySQL-5.5。或者等待 MariaDB-5.5 :)

如果您的工作负载包含复杂(子)查询,那么您可能会从 MariaDB 的新优化器特性中受益更多。如果您正在运行复制,那么带有组提交的 MariaDB 5.3 将大大优于任何其他 MySQL 版本。

基准测试详情:sysbench OLTP 多表。16 个表,每个表 25 万行。20G InnoDB 缓冲池。数据和日志位于 SSD 上。双插槽六核 Xeon,启用 HT(24 个逻辑核心)。您可以下载压缩包,其中包含基准测试脚本、配置和原始结果。