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 性能测试中显示出非常相似的结果。

因此,我创建了一个与 Vadim 的环境非常相似的 Sysbench 环境,并测试了以下版本的服务器

  • 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。…

MariaDB 字符串相关操作的优化

在我们即将发布的 MariaDB 5.3 版本中,Monty 优化了内部字符串追加代码以提升性能。我使用 sql-bench 测试了他的补丁,对比了普通的 MariaDB 5.2 和打补丁的 MariaDB 5.2,结果显示总体性能提升了约 3%。

Monty 对补丁细节的描述如下
优化字符串追加的补丁

在检查 mysql-test-run 用例的跟踪输出时,我注意到有大量的
内存重分配调用。这很奇怪,因为 MariaDB/MySQL 被
设计为尽可能少地进行 malloc/realloc 操作。系统使用的是
首先计算需要多大的缓冲区,然后分配一个
足以应对大多数用法的缓冲区。…