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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: PolarDB MySQL 版 Serverless评测|一文带你体验什么是极致弹性|后续

在上一篇PolarDB MySQL 版 Serverless测评博文中:https://developer.aliyun.com/article/1385834 关于弹性压测三通过增加只读节点压测来观测到Serverless弹性增加只读节点的操作,当时时间有限,在等待了20~30min中后仍未看到只读节点总数超过2个,这里继续尝试。

弹性压测三后续

为了可以更快的达到:当数据库接收到新的只读负载后,Serverless系统会继续创建新的只读节点,直到满足新增只读负载的要求的目标。这里修改Serverless配置为

image.png

等待集群配置切换成功,此时查看集群节点信息

image.png执行256并发读写混合压测请求

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=pc-uf6dn249n6fn7w18m.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

可以看到当主节点弹升到最大规格后,Serverless系统会逐个创建只读节点,分摊主节点的读请求,直到只读节点的数量满足当前负载。只读节点自动创建大概需要耗时5~10min左右

image.png

只读节点大概11:00左右创建成功,

image.png

但是点击【性能监控】页面,查看11:00到当前时间的PCU数量及PCU CPU使用率,并没有看到只读节点的相关信息

image.png

点击刷新【性能监控】页面也看不到只读节点的监控信息,这说明目前性能监控这里对于Serverless弹性增加节点的监控有一定的延迟性,为了看到只读节点的监控信息,等待到14min中的时候刷新性能监控页面,看到了只读节点信息

image.png

但是这里看到的只读节点信息在11:02分已经有监控信息了,但是刚才在11:08分刷新性能监控页面时未看到只读节点信息,而是在11:14才看到了11:02分的只读节点监控信息,也就是说性能监控页面展示大概延迟12min左右

下面新建压测窗口,发起256并发的只读请求,验证只读节点Serverless弹性增加

sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=pc-uf6dn249n6fn7w18m.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

为了更快的看到只读节点的增加,可以增加多个压测窗口发起256并发只读请求,这里可以看到新的只读节点Serverless弹性创建中

image.png

image.png

这里我再增加几个压测窗口发起256并发只读请求,等待5min左右可以看到新的只读节点创建中

image.png

持续观测一段时间【性能监控】可以看到主节点、只读节点PCU数量及PCU CPU使用率都趋于稳定,保持在1PCU

image.png

此时系统判定,Serverless规格已经满足实际负载,不会再继续增加新的只读节点。

自动缩容

停掉所有的Sysbench脚本后等待20min左右可以看到集群只读节点减少,剩下2个只读节点

image.png

等待较长时间后,最终PolarDB会缩容到只有一个主节点的状态。

全局一致性测试

高性能全局一致性SCC特性可以为PolarDB for MySQL Serverless提供跨节点无损读扩展的能力,即RO的无损强一致读。传统的Serverless的方案均是基于单机原地升降配实现,其规格受限于单物理机资源。而当RO能借助SCC提供无损强一致读后,针对大部分读多写少业务,我们都可以跨机提供CPU资源,上限远超单物理机限制。

修改Serverless配置,只读节点下限设置为1

image.png

使用mysqlsct工具验证RO的无损强一致读的特性,执行如下命令

/root/mysqlsct --host-rw=pc-uf6dn249n6fn7w18m.rwlb.rds.aliyuncs.com --host-ro=pc-uf6dn249n6fn7w18m.rwlb.rds.aliyuncs.com --port-rw=3306--port-ro=3306--user=test_user  --password=Password123 --iterations=100000--table-cnt=1--table-size=1000-f=0--concurrency=1--database=sct --sc-gap-us=0--report-interval=2--test-mode=sct

执行后,可以看到一致性检查全部通过

image.png

点击【参数配置】集群下方【修改参数】按钮,修改loose_innodb_polar_scc参数为OFF,单击提交修改,单击确定,关闭SCC特性关闭SCC

image.png

弹框可以勾选需要关闭的数据库节点信息

image.png

等待1~3min参数配置生效后

image.png

回到测试窗口重新执行命令

/root/mysqlsct --host-rw=pc-uf6dn249n6fn7w18m.rwlb.rds.aliyuncs.com --host-ro=pc-uf6dn249n6fn7w18m.rwlb.rds.aliyuncs.com --port-rw=3306--port-ro=3306--user=test_user  --password=Password123 --iterations=100000--table-cnt=1--table-size=1000-f=0--concurrency=1--database=sct --sc-gap-us=0--report-interval=2--test-mode=sct

执行后,可以看到一致性检查出现失败

image.png

测评体验

整个测评体验的操作基本没有什么疑问,控制台的属性配置以及Serverless参数配置也很容易理解参数功能。只是在体验过程中,耗时比较久,通过配置Serverless实现弹性伸缩数据库节点,当负载升高时,自动增加数据库节点,当负载降低时,自动减少数据库节点。这个增加或者减少数据库节点的过程比较耗时,想要观察结果的话需要一定的耐心。

另外就是性能监控的延迟性,希望后续可以减少一下延迟,现在的结果来看,总感觉性能监控看到的内容都是十几分钟或者二十几分钟之前的集群信息。

最后就是PolarDB MySQL版Serverless弹性伸缩增加或减少数据库节点,对应的数据一致性如何保证,这个请各位开发者放心,查阅官方文档

image.png

可以看到数据一致性可以保证数据强一致性,到这里对于PolarDB MySQL版Serverless的测评全部结束,整体过程除了耗时以外,产品本身很棒。

片尾提出一个小疑问,就是说PolarDB MySQL版Serverless弹性伸缩时,只读节点的数据是否与现有主节点及只读节点的数据是一致的?查阅了一下官方文档,增加一个只读节点预计耗时5分钟,具体耗时受新增节点数量、库表数量、数据库负载等因素影响。

image.png

那么在这5分钟内主节点新增的数据当前增加的只读节点是否可以保持一致呢?大家也可以思考一下。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
23天前
|
关系型数据库 Serverless 分布式数据库
扩缩容操作对PolarDB Serverless的性能有多大影响?
PolarDB Serverless 的扩缩容操作对性能会产生一定的影响,但通过合理的规划、监测和措施,可以将这种影响控制在较小的范围内。同时,随着技术的不断进步和优化,扩缩容操作对性能的影响也会逐渐减小,为用户提供更稳定、高效的数据库服务体验。
|
23天前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 的自动扩缩容机制
PolarDB Serverless 作为一种创新的数据库服务模式,其自动扩缩容功能是其重要的特性之一。这一功能为用户带来了诸多优势,同时也有着复杂而精密的运作机制。
|
23天前
|
监控 关系型数据库 Serverless
扩缩容操作对 PolarDB Serverless 性能的影响
扩缩容操作对 PolarDB Serverless 性能的影响
22 3
|
26天前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
29 6
|
2月前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
179 5
|
2月前
|
关系型数据库 Unix MySQL
MySQL是一种关系型数据库管理系统
MySQL是一种关系型数据库管理系统
61 2
|
2月前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
23 0
|
4月前
|
关系型数据库 Serverless 分布式数据库
ICDE’24 | 中国企业首获最佳论文,详解PolarDB Serverless如何在0.5秒内实现跨机迁移
数据库领域顶会 ICDE 2024于5月13-17日在荷兰乌特勒支(Utrecht, Netherlands)举办。ICDE (The International Conference on Data Engineering) 与VLDB、SIGMOD被公认为是国际数据管理领域三大顶级学术会议,此次在荷兰召开的ICDE 2024大会,共吸引北京大学、清华大学、浙江大学、MIT、斯坦福等机构,以及谷歌、微软、阿里云、华为、字节等公司的近1000名人员参会,共同探讨AI、数据库、数据处理领域的前沿技术问题。
|
13天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
87 15
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。

推荐镜像

更多
下一篇
DataWorks