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 架构模式
相关文章
|
3月前
|
人工智能 关系型数据库 MySQL
基于阿里云的PolarDB MySQL版实现AI增强数据管理
本文将介绍如何利用阿里云的PolarDB MySQL版结合AI技术,实现数据管理的自动化和智能化。
205 0
|
3天前
|
关系型数据库 Unix MySQL
MySQL是一种关系型数据库管理系统
MySQL是一种关系型数据库管理系统
11 2
|
2月前
|
关系型数据库 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、数据库、数据处理领域的前沿技术问题。
|
2月前
|
关系型数据库 MySQL 分布式数据库
PolarDB 并行查询问题之保证与MySQL的兼容性如何解决
PolarDB 并行查询问题之保证与MySQL的兼容性如何解决
20 1
|
2月前
|
关系型数据库 Serverless 分布式数据库
揭秘PolarDB Serverless:大促洪峰秒级应对,无感伸缩见证科技魔法!一探云数据库管理的颠覆性革新,强一致性的守护神来了!
【8月更文挑战第13天】在云计算背景下,阿里巴巴的云原生数据库PolarDB Serverless针对弹性伸缩与高性能一致性提供了出色解决方案。本文通过一个电商平台大促活动的真实案例全面测评PolarDB Serverless的表现。面对激增流量,PolarDB Serverless能秒级自动扩展资源,如通过调用`pd_add_reader`快速增加读节点分摊压力;其无感伸缩确保服务平滑运行,不因扩展中断;强一致性模型则保障了数据准确性,即便在高并发写操作下也确保库存等数据的同步一致性。PolarDB Serverless简化了数据库管理,提升了系统效能,是追求高效云数据库管理企业的理想选择。
90 7
|
3月前
|
运维 关系型数据库 分布式数据库
PolarDB产品使用问题之Federated引擎是否支持弹性并行查询
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之使用polardb for mysql数据库的外网地址在程序中连接经常超时,如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之PolarDB MySQL版和PolarDB-X的区别是什么
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
关系型数据库 MySQL 测试技术
【有奖活动】体验PolarDB MySQL 无感切换赢桌面收纳桶
体验PolarDB的无感切换技术,完成就送桌面收纳桶,最高得小米米家照片打印机!
|
3月前
|
关系型数据库 MySQL 分布式数据库
云原生数据库PolarDB MySQL版评测报告
云原生数据库PolarDB MySQL版评测报告
50 4

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面