MariaDB 和 MySQL 在不同版本中的性能变化

性能对您重要吗?最新功能和长期支持呢?选择 MariaDB 11.4 吧。但不要只听我们的一面之词。我们邀请了知名的基准测试专家 Mark Callaghan 测试了多个 MariaDB 和 MySQL 版本,用他选择的工具进行了严格测试,并分享了他的发现。
MariaDB 的性能多年来保持稳定
结果是:在低并发负载下(高并发结果正在准备中),MariaDB 在过去 10 年和 14 个版本中保持了稳定的性能,而 MySQL 的性能下降了近三分之一。
寻求公正的外部基准测试
我们请 Mark Callaghan 提供帮助有几个原因。
- 首先,我们预感我们的性能比 MySQL 好得多。
- 其次,我们希望用户能够放心地使用 MariaDB 11.4 作为最新的 LTS 版本。
- 第三,我们希望性能由一位受尊敬且公正的外部基准测试专家进行评估。
性能:认知与现实
然而,一个最重要的原因是,我们发现人们对 MariaDB Server 的看法存在误解。这是认知与现实之间的差异。
早期,普遍的看法是“MariaDB 就像 MySQL,但更快”。这虽然简化了,但并非错误。现在,我们看到一些言论质疑其兼容性和性能主张。
兼容性?当然,但这并非本文重点
这篇博客文章**不是关于兼容性**的。简而言之,MariaDB 与 MySQL 5.7 的兼容性比 MySQL 8.0 本身更好。并且,MariaDB 和 MySQL 8.0 之间的不兼容性比几乎任何其他两种数据库之间的不兼容性更容易克服。
Mark Callaghan 的三篇详细博客文章
相比之下,性能才是这篇博客文章的主题。更确切地说,它是对 Mark Callaghan 于 2024 年 4 月发布的迄今为止三篇详尽博客文章的简短总结:
- 小型服务器上的 Sysbench:MariaDB 和 MySQL (2024-04-04)
- (不太) 小型服务器上的 Sysbench:MariaDB 和 MySQL (2024-04-11)
- 插入基准测试:MariaDB、MySQL、小型服务器、缓存工作负载 (2024-04-13)
我的简单总结是,MariaDB 11.4 的性能优于 MySQL 8.0。并非在所有情况下,也非在每一个测试中都如此,但作为近似总结,这个说法是公正的。
测试方法
测试设置如下:
- 这项工作由 Small Datum LLC(Mark Callaghan 的公司)完成,并由 MariaDB 基金会**赞助**。
- 结果来自在小型服务器上对 MariaDB 和 MySQL 进行的 sysbench 基准测试,使用了缓存和低并发工作负载(其他工作负载的基准测试将稍后进行)。
- 对于 MariaDB,测试目标是 10.2 到 11.4 的 LTS 版本。
- 对于 MySQL,目标是 5.6、5.7 和 8.0 版本。
结果:几乎没有性能退步
我特别建议您阅读 https://smalldatum.blogspot.com/2024/04/ 上实际博客文章中的细节,但请允许我粘贴一些 Mark 本人的“太长不看 (tl;dr) 摘要声明”,并对其进行进一步缩短:
- 现代 MariaDB 比现代 MySQL 快 13% 到 36%
- MariaDB 在避免随时间推移出现的 CPU 性能退步方面做得很好
- MySQL 在避免随时间推移出现的 CPU 性能退步方面做得不太好
- 在所有 INSERT 基准测试步骤中,现代 MariaDB (11.4.1) 都比现代 MySQL (8.0.36) 快,除了两个步骤性能相似。
- 在最差的情况下,现代 MariaDB (11.4.1) 的 INSERT 性能比旧版 MariaDB (10.2.44) 慢 15%。很高兴看到 MariaDB 在避免性能退步方面做得很好。
- 从旧版 MySQL (5.6) 到现代 MySQL (8.0),INSERT 性能存在显著退步
致谢:Small Datum LLC
关于 Small Datum LLC (https://smalldatum.github.io/)
- Small Datum LLC 提供数据库咨询服务,重点关注 MySQL、RocksDB 和 Postgres。
- 公司由 Mark Callaghan 领导,他在 Facebook 和 Google 担任 MySQL 的技术负责人达 15 年,建立了出色的团队,使 MySQL 的规模远远超出了预期。
- 在此之前,他在 Oracle 和 Informix 从事数据库内部工作。
- 他拥有威斯康星大学麦迪逊分校的计算机科学硕士学位,对数据库性能和效率充满热情。
进行这些基准测试非常重要。非常感谢。通常我不太看重自赞助的基准测试,因为我们都知道如何让统计数据对我们有利 🙂 但在这种情况下,考虑到 Mark Callaghan 在 Google 和 Facebook 使用 MySQL 和 MyRocks 的背景,他的博客文章确实值得一读。对我来说,关键点是 XFS 文件系统,MariaDB 10.2 有更好的性能和 flush O_DIRECT_NO_FSYNC。由于 Mark 提供了每个设置的配置文件,因此创建您自己的设置非常容易。