PolarDB MySQL 版 Serverless评测|一文带你体验什么是极致弹性

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: PolarDB MySQL 版 Serverless评测|一文带你体验什么是极致弹性

在体验PolarDB MySQL 版之前,这里先为大家提供一下PolarDB MySQL 版 Serverless评测入口,以供热爱数据库探索的小伙伴们共同体验极致弹性体验的数据库PolarDB MySQL 版,测评入口:https://developer.aliyun.com/topic/polardbserverless

下面开始正文,测评PolarDB MySQL 版各项性能,那么在开始之前,例行惯例先简单介绍一下什么是PolarDB MySQL 版,这样也方便大家对PolarDB MySQL 版有一个基础的理解。

什么是PolarDB MySQL 版

PolarDB MySQL版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。PolarDB MySQL版的企业版基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。

image.png

到这里,大家也就知道什么是PolarDB MySQL版,简单的说就是你平常用的Mysql,只不过这个Mysql是一款云原生数据库,不需要你部署,不需要你维护,你只需要用就可以了,就是这么简单。

下面我们开始正式体验PolarDB MySQL版的极致弹性究竟体现在哪里呢?

PolarDB MySQL版体验

打开浏览器输入PolarDB MySQL版控制台地址:https://polardb.console.aliyun.com/ 点击【集群列表】

image.png没有集群的话就选择【创建新集群】,这里我已经创建好了集群,点击集群ID进去集群信息页面

image.png

点击【基本信息】页面下滑找到【数据库节点】配置,点击右上角的【Serverless配置】

image.png

在打开弹框页面设置如下信息

image.png

点击【确定】完成Serverless配置。

弹性压测一

下面开始进行弹性压测,执行如下命令初始化数据

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=pc-uf637o962oq7nqmqq.rwlb.rds.aliyuncs.com --mysql-port=3306--mysql-user=test_user --mysql-password=Password123 --mysql-db=sbtest --tables=128--table-size=1000000--report-interval=1--range_selects=1--db-ps-mode=disable --rand-type=uniform --threads=256--time=12000 prepare

image.png

点击【性能监控】可以看到PCU数量有个弹性增高

image.png

等待集群数据库初始化数据完成之后,开始进行256并发读写混合压测,输入命令

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=pc-uf637o962oq7nqmqq.rwlb.rds.aliyuncs.com --mysql-port=3306--mysql-user=test_user --mysql-password=Password123 --mysql-db=sbtest --tables=128--table-size=1000000--report-interval=1--range_selects=1--db-ps-mode=disable --rand-type=uniform --threads=256--time=12000 run

观察命令执行输出日志可以看到,在同样的并发数下,tps逐渐上升,延迟(lat)逐渐下降,最终到达一个稳定值

image.png

继续观察,可以看到tps lat逐渐趋于稳定,这说明PolarDB的处理能力借助Serverless弹性获得提升

image.png

回到控制台性能监控页面,查看节点负载情况,可以看到随着主节点PCU CPU使用率的不断提升,PCU数量从1分钟内从1 PCU弹升到最大上限32 PCU。

image.png

压测一段时间后,PCU数量及PCU CPU使用率也趋于稳定

image.png

停止压测后可以看到主节点PCU CPU使用率会立即下降,而PCU数量随后也会逐步自动缩小至1 PCU

image.png

弹性压测二

下面开始进行读写混合压测,回到集群基本信息页面,更改【Serverless配置】

image.png

更改完成后回到命令行页面执行如下命令,发起256并发读写混合压测请求

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=pc-uf637o962oq7nqmqq.rwlb.rds.aliyuncs.com --mysql-port=3306--mysql-user=test_user --mysql-password=Password123 --mysql-db=sbtest --tables=128--table-size=1000000--report-interval=1--range_selects=1--db-ps-mode=disable --rand-type=uniform --threads=256--time=12000 run

和前面观察日志输出结果一致,在同样的并发数下,tps逐渐上升,延迟(lat)逐渐下降,最终到达一个稳定值

image.png

回到控制台查看集群基本信息,可以看到当主节点弹升到最大规格后,Serverless系统会逐个创建只读节点,分摊主节点的读请求,直到只读节点的数量满足当前负载

image.png

回到性能监控页面,点击【集群】监控可以看出,PolarDB收到读写混合请求后,主节点会首先迅速弹升到最大的32 PCU,之后监控逐步出现2个读节点。当只读节点分摊主节点的读请求后,主节点CPU使用率逐步下降,规格最终稳定在22.5 PCU。

image.png

由于目前2个只读节点都没有到最大规格32 PCU,系统判断目前Serverless规格已经满足实际负载,不会再继续增加新的只读节点。

根据该实验之前的配置,PolarDB for MySQL Serverless最多支持扩展出7个只读节点,如果后续压力增大会继续弹性增加只读节点。那么下面增加只读压力测试。

弹性压测三

基于弹性压测二,继续增加只读压力测试,输入命令

sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=pc-uf637o962oq7nqmqq.rwlb.rds.aliyuncs.com --mysql-port=3306--mysql-user=test_user --mysql-password=Password123 --mysql-db=sbtest --tables=128--table-size=1000000--report-interval=1--range_selects=1--db-ps-mode=disable --rand-type=uniform --threads=256--time=12000 run


image.png

为了效果明显可以多开几个只读压测命令执行的窗口,知道出现多个只读节点为止。也就是说当数据库接收到新的只读负载后,首先当前的2个只读节点会弹升到最大规格32 PCU,之后Serverless系统会继续创建新的只读节点,直到满足新增只读负载的要求。整个过程大概需要等待20~30min,且需要开启多个只读脚本压测命令窗口即可看到效果。

image.png

弹性缩容

当停止掉所有的Sysbench脚本之后,PolarDB for MySQL Serverless的计算节点首先会自动缩容,之后新增的只读节点会逐步回收,大概耗时 20~25min,等待一段时间后,最终PolarDB会缩容到只有一个主节点的状态。


从上面的实验可以看出,PolarDB for MySQL Serverless的节点数量和规格都能够根据负载进行自动伸缩与自动配置。


操作体验

对于PolarDB MySQL 版 Serverless整体的操作体验上很流畅,文档内容也很详细,整个实验操作下来达到了理想的预期,也看到了PolarDB MySQL 版 Serverless的极致弹性,配置简单,功能很强大,对于企业来说,弹性增减数据库节点可以极大的优化企业数据管理成本以及运维成本。同时在应对大数据量并发时,可以自动化的弹性伸缩保障数据库节点的稳定运行,也保障了业务的稳定运行。真的是做到了超高弹性和性能、高可用和高可靠保障、高性价比,为企业保驾护航,很赞。


相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
存储 SQL 缓存
【云栖2023】李钰:阿里云 E-MapReduce 全面开启 Serverless 时代
本文根据 2023 云栖大会,阿里云资深技术专家、阿里云开源大数据平台EMR负责人李钰演讲实录整理而成。
879 1
|
SQL 存储 数据库连接
ADO,OLEDB,ODBC,DAO的区别
ODBC(Open Database Connectivity,开放数据库互连) 1992年,微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
2891 0
微信之父为您解读微信摇一摇的设计和功能
  4.5版本以后的"微信摇一摇"功能不仅可用于交友,还能用于音乐识别。在逛街时听到一首好听的歌曲却不知道歌名,怎么办呢?拿起手机打开微信摇一摇搜歌,微信就找到歌曲名,还可以播放!事实上,这个功能的发现来自张小龙一次开车的经历。
1948 0
|
3天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
271 116
|
18天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
12天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
663 219
|
5天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
350 34
Meta SAM3开源:让图像分割,听懂你的话