暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

2000块预算的MySQL的Sysbench能跑多高

程序猿读历史 2024-04-28
230

作者介绍

本文作者深耕云计算、数据库行业多年,围绕用户关心的“数据库性价比”视角,作者对比了国内三家主要云服务商提供的  MySQL生态产品性能方面的表现。基于专业视角,文章深入剖析几家云厂商的产品性能,旨在为读者用户提供宝贵的选型参考与洞见。文章观点,不代表本公众号观点。如有其他观点,欢迎文末留言讨论。

一、测评背景

云计算给客户所带来一项重要价值就是降本增效,因此,MySQL生态云数据库的性价比,是用户选购云产品的重要考量,自然也是各大云数据库厂商的兵家必争之地。

根据国际数据公司 (IDC)最新发布的《中国公有云服务市场(2023)跟踪》报告显示(上图所示),目前阿里云、华为云、腾讯云等中国云计算厂商排在前5名。因此,我们下边的云数据库的性价比的对比,将重点集中在阿里云、华为云、腾讯云这几个云厂商。

通过这个篇文章,我希望给读者分享这样的信息:如果你要特别注重中低规格的云数据库 MySQL 性价比的话(比如,你所用的MySQL是用于测试环境,性价比自然越高越好,节约成本),在预算比较有限(比如,包月2000块预算)的情况下,你可以参考本文的提供数据,知道选哪个云厂商的哪个系列的云数据库的性价比最高。
本文4000余字,阅读完大约需要20分钟。如果太长不看,可以只看下表格数据。

产品

配置

官网性能白皮书测试型号

Sysbench QPS

( 性能白皮书数据)

实际售价

(单位:元)

QPS 价格

单位(QPS 元)

华为云

RDS MySQL

4C16G

通用型 + 本地SSD

+500G存储

21249

2060

10

腾讯云

TencentDB for MySQL

4C16G

通用型 + 本地SSD

+ 500G存储

48493

1992

24

阿里云

RDS MySQL

4C16G

通用型+云盘+500G存储

61774

2010

30

阿里云

PolarDB-X 标准版

MySQL三节点)

8C16G

通用型 + 本地SSD

+500G存储

112357

1674

(1314 + 360)

67

二、性价比的定义
我自己对各大云计算厂商的云数据库MySQL有所关注,一直想去比较分析下各厂商的MySQL服务的性价比情况。
目前阿里云、腾讯云、华为云、天翼云这几家云计算厂商均有推出自家 RDS MySQL,这类产品本质上都是基于部署开源 MySQL(或其分支) 所提供的数据库服务。
所有上述的这些MySQL数据库产品,如果从功能维度上来看,各有千秋。比如,阿里云 RDS MySQL 的磁盘会区分本地盘SSD (没有自动扩容)、ESSD云盘(支持自动扩容)等;又如华为云的 RDS MySQL 还会区分鲲鹏版、X86版不同系列等。因此,这些不同特性,使得大家对云数据库MySQL的性价比的横向比较带来了一定的障碍。
但是,性价比,虽然是指商品的性能与价格的比例,但它本身并不是一个很严格的定义。如果性价比的评估还要考虑到各厂商产品附加的特有功能点,那这个评估就很难展开了。正所谓,不看疗程看疗效,我作为用户的话,最为关注的肯定是各云数据库MySQL的实际性能指标。
因此,本文的性价比,特指各云数据库的性能 BenchMark 指标与其实际价格的比例,而不考虑各产品所特有功能特性。

三、横向比较方法

3.1 关于性能数据的权威性

要评估各厂商云数据库的性价比,如何准确地获取能反映各家数据库产品的性能数据是很重要的一个方面。虽然网上有一些爱好者自己购买资源做了实际评测,但他们的这些测试数据并不是官方认可的数据,不一定反映出数据库产品的真实性能。
因此,本文对各云数据库性价比的横向比较所依赖的性能数据,均将全部直接引用各云数据库产品的官网所公布的性能白皮书的性能数据,而不是自行评测的数据。显然,性能白皮书的数据都是经过官方认可而发布的数据,更具权威性。

3.2 关于确定 BenchMark 模型

云数据库产品官网的性能白皮书 ,通常会出现以下三种之一业界标准的性能 BenchMark:

· TPCC:一种用于评测数据库的联机交易处理(偏向OLTP)能力的测试模型;

· TPCH:一种用于评测数据库的分析型查询(偏向OLAP)能力的测试模型;

· Sysbench:一个用于评估处于高并发负载下的数据库的各项性能表现的标准测试模型,又可细分3种场景;

Sysbench OLTP read_only:负载只含只读请求,性能指标是QPS;

Sysbench OLTP write_only:负截只含只写请求,性能指标是QPS;

Sysbench OLTP read_write:读写混合的负载,性能指标是QPS。
考虑到目前大部分云数据库产品官网的性能白皮书,绝大多数都只是公布了 Sysbench OLTP read_write 这种场景的性能测试结果,并不是上述三种(比如,腾讯云与华为云的RDS MySQL 的官网性能白皮书就没有公布TPCC & TPCH 测试)。因此,本文统一以 Sysbench OLTP read_write 的BenchMark结果作为性价比横向比较的基准。

3.3 关于成本预算区间的统一

对于各厂商云数据库性能BencnMark数据,若只看比较性能压测结果,而不考虑实际的成本预算,那是没有太多的意义的。
举个简单的例子,假设
    云数据库A 在 4Core32G 的规格对应的 Sysbench 性能吞吐是 30000 QPS。
    云数据库B 在 4Core32G 的规格对应的 Sysbench 性能吞吐是 25000 QPS。
    表面上好像是云数据库A在4Core32G规格上性能比云数据库B要好。
    但是,如果云数据库A 的4Core16G 的实际价格可以云数据库B 中买到 8Core16G 的规格(对应的吞吐是50000 QPS)的话, 那在同等的预算成本下,云数据库B 性价比自然更优秀。
    那么,应该确定一个什么样的成本预算区间来进行性价比的横向比较才比较合理呢?回到标题,本文侧重是想向读者分享自己对于各个云数据库的中低端规格的性价比的横向分析比较结果(因为随着企业用户要选购的云数据库的规格越大,要考量的因素就越多,性价比可能不是决定性因素了)。
    因此,本文的性价比的横向比较,会将这个成本预算区间定为 2000元包月 (含500G存储空间)。也就是说,选择的云数据库产品的规格所对应的价格要尽量接近在2000元。

    3.4 关于性价比的评估方案的统一

    当统一了各云数据库的横向比较的各项标准后,对于每一款云数据库产品,我们就可以将遵循使用以下的评测方法进行性价比评估:
    1. 首先,查询云数据库产品所对应的官网性能白皮书,确定以下几项内容:
    a. 确定官网的性能压测所使用的具体型号(比如,通用型/独享型、云盘/本地SSD盘等);
    b. 确定该型号下在各个不同测试规格下的Sysbench OTLP read_write 场景的性能指标,即 QPS;
    2. 基于性能白皮书的所指定的规格,在云数据库产品的的购买页面上尝试进行下单,并得到实际的价格 Cost,购买的价格要尽量接近本文所规定的预算区间,即 2000 元;

    3. 最后计算实际性价比,即 Ratio = QPS / Cost 。

    需要注意的是,很多云数据库产品的性能白皮书中对MySQL的性能测试,有些会区分MySQL 5.7 与 MySQL 8.0 ,有些则只提供 8.0 的结果;有些甚至还会再细分 CPU密集型(CPU_Bound)与IO密集型(IO_Bound),但有些又没有区分(比如华为云),但通常CPU密集型的吞吐要比IO密集型要高。
    因此,本文的性价比计算采用以下的计算原则:

    · 如果云数据库性能白皮书提供了 MySQL 5.7 的BenchMark 结果,则优先取 MySQL 5.7 的性能结果;

    · 如果对于云数据库的对于同一规格的实例,优先取它的CPU密集型作为性能 BenchMark 的结果。

    四、总体对比结果

    4.1 2000元可购买规格

    根据上述的表格,对于 2000 元的预算,各云数据库能买到的规格是:

    · 华为云

    RDS MySQL: 通用型 4C16G

    · 腾讯云

    TecnetDB for MySQL: 通用型 4C16G

    · 阿里云

    RDS MySQL: 通用型 4C16G

    PolarDB 分布式标准版(MySQL三节点):通用型 8C16G

    4.2 云数据库性价比结果

    2000元预算下的各个云数据库 MySQL 的性价比

    产品

    配置

    官网性能白皮书
    指定测试型号
    Sysbench QPS
    ( 性能白皮书数据)
    实际售价
    (单位:元)
    QPS / 价格
    单位(QPS / 元)
    华为云
    RDS MySQL

    4C16G

    通用型 + 本地SSD
    +500G存储

    21249

    2060

    10

    腾讯云
    TencentDB for MySQL

    4C16G

    通用型 + 本地SSD
    + 500G存储

    48493

    1992

    24

    阿里云
    RDS MySQL

    4C16G

    通用型+云盘+500G存储

    61774

    2010

    30

    阿里云
    PolarDB分布式
    标准版

    8C16G

    通用型 + 本地SSD
    +500G存储

    112357

    1674

    (1314 + 360)

    67

    4.3 结果的对比与分析

    • 华为云分析

    我们首先对比华为云 的云数据库 RDS 的性价性。

    从价格上看,华为云 RDS for MySQL 在 2000 元成本(实际是 2060 元)可买到 4C16G 的通用机型规格,参考其官网性能白皮书,该规格上的 Sysbench OLTP ReadWrite 的吞吐是 21249 QPS。所以,最后得到的性能价是(四舍五入) 10 QPS/元。
    • 腾讯云分析

    再来,我们对比一下腾讯云的云数据库 RDS的性价比。腾讯云 TencentDB for MySQL 在 2000 元成本(实际是1992 元 )也能买到 4C16G 的通用型机型。参考其官网性能白皮书,该规格上的 Sysbench OLTP ReadWrite 的吞吐是 48493 QPS,它的性能已经是华为云的 2 倍。然后,再折算为性价比(单位:QPS / 元)的这一指标后,,腾讯云 RDS MySQL 是 24 QPS / 元,这是个很不错的性价比参数。
    • 阿里云分析

    最后,我们再来对比一下阿里云的云数据库 RDS 的性价比。阿里云这里边有两款云数据库 RDS 要对比:

    · 阿里云 RDS MySQL

    · PolarDB 分布式标准版,即 PolarDB 分布式版的单个 DN 节点(DN 节点对应一个MySQL三节点的实例)

    仅从价格的维度来看,PolarDB 分布式标准版可以算是本次性价比整体评测的一匹黑马。因为在不足 2000 元的成本(实际价格 1674元) 下,PolarDB 分布式标准版竟可以买到 8C16G 的通用型的规格,而在 2000 元成本下,阿里云 RDS MySQL 却只能买到 4C16G 的通用型规格。

    我们再根据官网的性能白皮书,对比它们之间的性能,可以发现 PolarDB 分布式标准版在 8C16G 的通用型规格下可以将 Sysbench OLTP 的性能跑到 112357,而阿里云 RDS MySQL 在 4C16G 的通用型规格下跑 Sysbench OLTP 可得到的性能是 61774。

    最后,我们再按 性能 / 价格的计算方式,便可以得到这两款数据库的性价比指标:阿里云 PolarDB 分布式标准版的性价比是 67,而阿里云 RDS MySQL 的性价比是 30。可见,阿里云 PolarDB 分布式标准版的性价比足足是阿里云 RDS MySQL 的性价比的 2 倍+ ,极具性价比。

    总结:低价洼地造就的高性价比

    到这里,读者应该会问:华为云、腾讯云与阿里云这三家云厂商,到底哪一家的 RDS MySQL 云数据库的性价比最突出?在 2000 块的预算下 MySQL 的 Sysbench 的性能到底能跑多高?
    结合前边的分析结果,仅从本文所定义的性价比这一项指标来看,目前阿里云 PolarDB 分布式标准版的性价比是最为显著的,它的性价比达到 67 (单位:QPS / 元), 仅1674 元 的成本所买到的 8C16G 规格在 Sysbench OLTP 场景下能跑出 11W+ 的 QPS。显然,PolarDB 分布式标准版能有如此高的性价比,一个重要而显著的因素就是它的更低价格能让用户买到更高的硬件规格,从而有更好的性能数据。
    不过,在各云厂商硬件日新月异以及折扣价格瞬息万变的背景之下,此次评测结果也仅代表当前最近时刻的结果。因此,若读者在购买预算有限,或者对已有 MySQL 数据库有降本增效的需求,不妨参考本文的性价比分析结果,选择一个性价比更好的 MySQL 数据库来使用。

    五、2000元可购买规格

    5.1 华为云 RDS for MySQL

    华为云 RDS for MySQL 的性能白皮书的详细内容, 请参考这里。<1>
    • 性能白皮书的测试环境

    性能白皮书所定义的机型:通用计算型。
    • 2000元预算下的规格

    在实际购买页里,售价最接近 2060 元的条件下能买到通用计算型 4C16G + 500G 存储。
    • 性能白皮书的测试结果

    通用计算型 4C16G 对应的 Sysbench QPS吞吐 是 21249。

    5.2 腾讯云 TecentDB for MySQL

    腾讯云 TecentDB for MySQL 的性能白皮书的详细内容, 请参考这里。<2>
    • 性能白皮书的测试环境

    性能白皮书所定义的机型:通用型 + 本地 SSD 盘。
    • 2000元预算下的规格

    TecentDB for MySQL 通用型最接近 2000 元成本的规格是 4C16G , 实际售价为 1992 元。
    • 性能白皮书的测试结果

    TecentDB for MySQL 通用型 4C16G 所对应的 Sysbench QPS 是 48493 。

    5.3 阿里云 RDS MySQL

    阿里云 RDS MySQL 的性能白皮书的详细内容, 请参考这里。<3>
    • 性能白皮书的测试环境

    阿里云 RDS MySQL 公布的性能白皮书中所定义的测试机型:通用型 + 本地 SSD 盘。
    • 2000元预算下的规格

    阿里云 RDS MySQL 通用型最接近 2000 元成本的规格是 4C16G + 500G SSD 本地盘存储 , 实际售价为 2010 元。
    • 性能白皮书的测试结果

    阿里云 RDS MySQL 通用型 4C16G 规格对应的 Sysbench QPS (read-write)性能是 57781。

    5.4 阿里云 PolarDB 分布式标准版

    阿里云 RDS MySQL 的性能白皮书的详细内容, 请参考这里。<4>

    性能白皮书的测试环境

    阿里云 PolarDB 分布式标准版 公布的性能白皮书中所定义的测试机型:通用型 + 本地 SSD 盘。
    • 2000元预算下的规格


    阿里云 PolarDB 分布式标准版通用型最接近 2000 元成本的规格是 8C16G + 500G SSD 本地盘存储 , 实际售价为 1674 元(1314 元实例 + 300 SSD存储)。
    • 性能白皮书的测试结果

    阿里云 PolarDB 分布式标准版通用型 在 8C16G 的 Sysbench QPS 是 112357。


    参考:

    <1>:https://support.huaweicloud.com/pwp-rds/rds_swp_mysql_09.html

    <2>:https://cloud.tencent.com/document/product/236/68814

    <3>:https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/test-environment-1?spm=a2c4g.11186623.0.0.319a567cVm6EHp

    <4>:https://help.aliyun.com/zh/polardb/polardb-for-xscale/sysbench-test-standard-version?spm=a2c4g.11186623.0.0.4e7e3f266bwYRG


    END


    文章转载自程序猿读历史,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论