You are currently viewing 基准测试:商品云硬件上的 MariaDB 与 MySQL

基准测试:商品云硬件上的 MariaDB 与 MySQL

  • 测试内容:MariaDB 与 MySQL 的相对性能
  • 测试方式:多语句、事务处理工作负载 (Sysbench 90:10)
  • 测试平台:Amazon AWS EC2 和 RDS,large到12xlarge实例
  • 结论:MariaDB 在商品云上提供了卓越的性能用于实际业务工作负载的硬件

回顾 MariaDB Server 的家族树,我们发现它的祖先 MySQL Server。MariaDB Community Server 和 MySQL Server Community Edition 都是开源的,多年来已为许多相同的 Linux 发行版打包,为数百个流行网站和应用程序背后的应用程序堆栈提供动力。两者都在云中可用。

 

共享能力

  • SQL 支持
  • 用于符合 ACID 的事务的 InnoDB 存储引擎
  • 常用表达式和窗口函数
  • 静态数据和传输中的数据加密
  • 来自全球领先云提供商的可用性
  • 全球至少三分之一的开发人员熟悉的核心功能和行为(根据2020 年 Stack Overflow 开发人员调查)

MariaDB 功能

MariaDB 服务器还支持:

  • 通过SQL_MODE=ORACLE与 Oracle PL/SQL 的子集兼容
  • 序列
  • UNION, INTERSECT, EXCEPT
  • 具有即时ALTER的高级 InnoDB 在线 DDL
  • 时态表(系统版本、应用程序时间段、双时态)
  • 可插拔数据类型
  • 用于分析的列式存储

MariaDB Platform X5通过以下方式进一步扩展了这些功能:

  • 增强的代码稳定性
  • 具有列存储的分布式分析处理,以低成本对象存储为后盾
  • 具有高可用性、容错性和写入扩展性的分布式 SQL
  • 联合服务器和数据库通过 ODBC 互连
  • 自动故障转移、事务重放和会话恢复
  • 热在线备份
  • 强大的 SQL 防火墙和代理功能
  • MariaDB SkySQL 上的可用性,来自 MariaDB 的云数据库服务

真实世界的工作负载

数据库工作负载有各种形式和大小,在评估您的选择时,重要的是从一个可以理解的点开始。在选择用于基准测试的工作负载时,我们希望选择一些易于理解和在业务中常见的东西,然后在公平竞争环境中评估常见可用云配置的性能 :一种运行在完全具有成本效益的云硬件(不是外来硬件),因为它具有良好的商业意义。

对于我们的工作负载,我们选择了 90% 的读取、10% 的写入工作负载,并且我们使用 MySQL 社区中最流行的基准测试工具之一 Sysbench 来驱动这个工作负载。

测量

在我们的初始测试中,我们使用 Sysbench 90:10 比较了 MariaDB Community Server 10.5.5 与 MySQL Server 8.0.21 Community Edition 的相对性能。

测试利用并发作为变量来对数据库施加越来越大的负载。我们的目标是确定系统的整体容量。我们通过检查负载(并发)增加时吞吐量和延迟之间的权衡来做到这一点。将吞吐量与延迟绘制成一条曲线,我们可以看到数据库配置何时达到“容量点”(曲线的拐点)。此时,负载的增加不再转化为吞吐量的增加,而是转化为延迟的增加。

我们使用 MariaDB 的结果:

我们使用 MySQL 的结果:

一般来说,MariaDB 在较小规模点上的性能明显优于 MySQL,并在较高规模点上继续保持性能差异。这在图表中通过 MariaDB 的延迟低于 MySQL 和 MariaDB 的吞吐量高于 MySQL 来表明。

较低的延迟结果意味着响应速度更快的数据库,并最终为您的用户提供响应速度更快的应用程序体验。更高的吞吐量代表每秒执行更多工作的能力。对于实际业务工作负载(90% 读取,10% 写入) ,MariaDB 在商用云硬件上表现出比MySQL 更低的延迟和更高的吞吐量,这意味着 MariaDB 可以以更低的成本提供更好的用户体验。

叠加m5d.large:

在云环境中进行测试会导致性能结果存在一定程度的可变性。它是云计算的本质所固有的。为了解释这种差异,上面的结果是三个独立测试的平均结果。下图显示了各个测试的实际结果,说明了测试之间的运行间差异以及该差异如何随规模增长。

MariaDB:

MySQL:

在使用 EC2 中运行的数据库进行测试后,我们想知道这些性能特征是否也会出现在 RDS 中。尽管 MariaDB 社区服务器的最新 10.5 版本系列(2020 年 6 月 GA)尚未在 RDS 上可用,但我们能够使用 MariaDB 10.4(2019 年 6 月 GA,并于 2020 年 4 月添加到 RDS)进行测试,并与 MySQL 8.0 进行比较。 

MariaDB:

MySQL:

叠加db.m5.large:

结论:

对许多人来说,MariaDB Server 是 MySQL Server 的继任者,几年前就取代了它在应用程序堆栈中的地位。但对于那些坚持使用旧 MySQL 的人来说,我们相信这些结果提供了一个令人信服的论点,即对于有兴趣在广泛可用、具有成本效益的商品云硬件上操作实际工作负载的用户来说,MariaDB 是最好的云数据库。

您甚至可以在我们对 Amazon RDS 的测试中看到这一点。为了方便进行苹果对苹果的比较,我们认为我们应该在相同的云平台、系统上比较 MySQL 和 MariaDB,由独立的第 3 方配置,无需进一步调整和调整——AWS RDS 上的 MySQL 和 MariaDB。

MariaDB 服务器可在全球领先的云提供商上使用,最好的你可以找到MariaDB 平台,包括MariaDB SkySQL上的 MariaDB 企业服务器。


这篇文章有一个评论

  1. creek gate io

    I am an investor of gate io, I have consulted a lot of information, I hope to upgrade my investment strategy with a new model. Your article creation ideas have given me a lot of inspiration, but I still have some doubts. I wonder if you can help me? Thanks.

发表回复