PolarDB MySQL 版 Serverless全方位压测实验测评报告

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 个人测评

PolarDB MySQL 版 Serverless全方位压测实验测评报告

一、测评前言

之前就一直在用polarDB,现在出了PolarDB MySQL Serverless,对我来说是相当兴奋的,这代表着我们国产的云数据库又向前迈进了一大步,我先看了一下相关的介绍,其实和原来版本变化不大,只是现在兼容了mysql8,并且把serverless融进来了,这样让用户不用太关注升降配的问题,自动调控

image.png

阿里云的PolarDB MySQL版云原生数据库,这款产品是一款完全由阿里云自主研发的数据库,百分之百兼容MySQL,提供了强大的多主多写、多活容灾和HTAP等功能,具备多项令人印象深刻的特性。首先,它的交易性能比开源数据库高出六倍,分析性能更是高达四百倍之多。这意味着它可以显著提高应用程序的速度和效率,对于那些依赖于数据库的企业而言,这款产品可以带来惊人的竞争优势。

image.png

这款产品的TCO(总持有成本)比传统自建数据库降低了五十个百分点。这意味着企业在维护成本上的投入将大幅度减少,而能获得的服务质量却远超预期。这无疑是对企业投资回报的一个巨大福音。PolarDB MySQL版还提供了良好的兼容性。它支持多种MySQL版本,包括MySQL 5.6MySQL 5.7MySQL 8.0,这对于使用旧版本或者升级到最新版本的用户而言都是非常实用的。需要强调一下PolarDB MySQL版的企业级特性,它采用了创新的云原生架构、计算存储分离、软硬件一体化的设计,为企业提供超高弹性和性能、高可用和高可靠保障。作为一个企业,您能够享受安全可靠的数据库服务,而这正是业务正常运营的基础。

image.png

详细的可以点链接进行查看云原生数据库 PolarDB-阿里云帮助中心 (aliyun.com)

一、全方位测评

点击立即试用,选择默认交换机,随机创建,把集群名称维护好我们就可以0元获取三个月的使用机会了。

image.png

选择试用,绑定好资源后输入网址https://polardb.console.aliyun.com/,这里我们可以看到瑶池数据库

image.png

在集群列表页面顶部菜单栏中,切换资源所在地域。

image.png

在集群列表页面,找到您的PolarDB实例,单击实例ID

image.png

在基本信息页面的数据库节点区域中,单击右上角的Serverless配置。

image.png

在设置Serverless配置参数对话框中,参考如下说明配置参数,单击确定。

参数说明:

单节点资源弹性上限为:32 PCU

单节点资源弹性下限为:1 PCU

只读节点个数扩展上限:0

只读节点个数扩展下限:0

是否开启无活动暂停:关闭。

定时执行:立即执行

image.png

1PCU的性能约等于12GB规格的PolarDB计算节点性能。

客户端对PolarDB发起写请求,验证主节点的Serverless智能弹性能力。通过Sysbench脚本访问集群地址进行压测,PolarDB主节点的规格能够根据负载进行自动伸缩与自动配置,达到Serverless的能力。

在我们的ecs里进行256并发读写混合压测将mysql-host参数修改为您的PolarDB实例的集群私网地址。PolarDB实例的集群私网地址如下。

image.png

根据上述信息输入如下命令模拟压测环境

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

根据Sysbench输出可以直接观察到,随着时间的推移,在同样的并发数下,tps逐渐上升,延迟(lat)逐渐下降,最终到达一个稳定值,这说明PolarDB的处理能力借助Serverless弹性获得提升。

在左侧导航栏中,单击性能监控,在监控页上,单击计算节点,选择压测的时间段。

image.png


随着主节点PCU CPU使用率的不断提升,PCU数量从1分钟内从1 PCU弹升到最大上限32 PCU

在我们的ecs里执行Ctrl+C,停止压测脚本。

image.png

当压测请求完全停止后,主节点PCU CPU使用率会立即下降,而PCU数量随后也会逐步自动缩小至1 PCU

image.png

PolarDB发起读请求,验证只读节点的Serverless智能弹性能力。PolarDB for MySQL Serverless集群除了支持主节点自动弹性伸缩之外,还支持创建只读节点分摊主节点的读请求。当使用集群地址时,PolarDB for MySQL Serverless可以基于读负载的比例,智能地调整只读节点的个数和各自的规格,来达到最佳的Serverless能力。继续使用Sysbench工具模拟真实使用场景流量。PolarDB for MySQL Serverless集群主节点PCU扩容到弹升上限后,会自动创建新的只读节点并分摊部分主节点的读负载,最终使整个集群能够支撑更高的TPS请求量。

测试场景一:读写混合压测

在基本信息页面的数据库节点区域中,单击右上角的Serverless配置。在设置Serverless配置参数对话框中,将单节点资源弹升上限调节为16,只读节点个数扩展上限从0调整为最大值7,只读节点个数扩展下限保持0不变,单击确定。

 

image.png

访问PolarDB for MySQL Serverless集群私网地址发起256并发读写混合压测请求。

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

Sysbench输出可以直接观察到,随着时间的推移,在同样的并发数下,tps逐渐上升,延迟(lat)逐渐下降,最终到达一个稳定值。这说明PolarDB的处理能力借助Serverless弹性获得提升。

image.png

在读写混合场景下,读写流量会首先转发到集群唯一节点,即主节点(RW)中。当主节点弹升到最大规格后,Serverless系统会逐个创建只读节点,分摊主节点的读请求,直到只读节点的数量满足当前负载。当只读节点分摊读请求后,主节点负载会降低,触发PCU弹降,为未来支持更多写负载预留了弹升空间。

 image.png

在性能监控页上,可以查看到集群维度的Serverless监控指标,选择压测的时间段可以看到分裂节点的信息,从监控可以看出,PolarDB收到读写混合请求后,主节点会首先迅速弹升到最大的32 PCU,之后监控逐步出现两个只读节点。当只读节点分摊主节点的读请求后,主节点CPU使用率逐步下降,规格最终稳定在16 PCU

第一个只读节点创建后,也会立刻弹升到32 PCU。此时系统会尝试继续创建只读节点,分摊读请求。因此当第二个只读节点创建后,第一个只读节点负载降低,规格自动弹降。最终两个只读节点的规格分别稳定

image.png

测试场景二:只读并发压测

Ecs服务器打开一个新终端,原有终端不变,继续运行,我们再发起一个256并发的只读请求

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

在性能监控页上,可以查看到集群维度的Serverless监控指标,选择压测的时间段可以看到分裂节点的信息,也可以在基本信息里看到分裂成三个节点

image.png

ecs上执行Ctrl+C停止所有的Sysbench脚本,然后再查看性能监控可以看到PolarDB for MySQL Serverless的计算节点首先会自动缩容(预计耗时1-2min),之后新增的只读节点会逐步回收,PolarDB for MySQL Serverless的节点数量和规格都能够根据负载进行自动伸缩与自动配置,节点也在20分钟左右全部回收。

image.png

使用mysqlsct工具验证RO的无损强一致读的特性。在Serverless默认开启SCC的状态下,PolarDB通过RO实现读扩展,且不会读到不一致的数据。在关闭SCC后,同样测试条件下,使用RO分摊读请求则无法满足强一致,为了更方便地测试RO一致性读,先调整Serverless配置,确保测试过程中,至少保留一个只读节点,在设置Serverless配置参数对话框中,将只读节点个数扩展下限从0调整为1,单击确定

image.png

ecs上输入如下命令,执行后,可以看到一致性检查全部通过

/root/mysqlsct --host-rw=pc-uf69e5l2iwrr4u5je.rwlb.rds.aliyuncs.com --host-ro=pc-uf69e5l2iwrr4u5je.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特性。

image.png

image.png

 

 

返回ecs服务器,重新执行mysqlsct测试命令可以看出执行结果,一致性检查出现失败,PolarDB for MySQL Serverless借助高性能全局一致性SCC特性,提供了跨节点无损读扩展的能力。

image.png

三、测评体验

 部分压测测评视频如下可以体验观看:

在评测过程中,我对阿里云PolarDB Serverless 功能留下了深刻的印象。通过试用和亲身体验了它的各项功能后,个人认为它是一项真正的突破性技术,无论是在处理高并发工作负载还是节省成本方面都表现出了极高的效果。

眼前一亮的功能是它对资源弹性水平的支持,包括资源弹升速度、资源伸缩广度和稳定性以及资源伸缩颗粒度等等方面。例如,资源弹性上限可设定为 32 PCU,下限可设定为 1 PCU,这是一种相当灵活的选择范围。此外,发现对于只有单个主节点的情况来说,它还可以开启“无活动暂停”功能以进一步节约成本。它的资源扩展会根据需要进行自动分配和调整,并且能在极短的时间里完成资源调用过程。这些优点表明该产品的设计者们考虑到了用户可能遇到的各种复杂情况和需求,并且试图尽量减少用户的管理负担。

另外发现对于没有访问需求的情况下,计算资源可缩小到0,并且仅需10秒即可恢复,这种即时性的回应和高效的响应时间大大减少了对存储空间的需求,同时也极大地提高了工作效率,阿里云PolarDBServerless功能给我留下了深刻的印象,因为它允许我们在短短几秒钟内快速、轻松地调整资源数量和规格,这是我在其他类似服务中未曾见过的。使用时无需过多担心底层基础架构问题,使我更专注于开发和优化业务逻辑代码。此外,当我想要切换任务或等待更多请求时,它也允许我将资源最小化到零,并且在需要时迅速将其恢复。

在进行的多项实验测试中,尤其是在进行并发读写的压测时,都看到了它的良好表现。无论是进行大量并发读写混合或者只是读取操作时,都表现出了高效稳定的性能。在压测期间,其强大的自动调整和扩展能力,特别是针对读写混合工作负荷时,以及同时处理高并发请求的能力。使用这种方法可以轻松应对高峰时段,并节省大部分不必要的成本支出,因为在低峰期时,可以选择将资源减小甚至降至零。

我还喜欢该服务的高度自动化,可以自动调整只读节点的数量和每个节点的规格,来达到最佳的Serverless功能。在读写混合场景中,系统的响应时间和数据传输速度都让我感到惊讶。我还很赞赏它的强一致性功能,能够保证数据的安全性和可靠性。通过调整参数,PolarDB可以在多核和多节点之间切换和扩展,可以轻松应对任何规模的工作负荷。

还有一个亮点是PolarDB的只读节点提供了无损强一致性的特性,意味着多个只读节点之间保持一致的数据。这意味着当更改了数据库的内容或结构时,可以确保所有节点始终拥有相同的数据。对于关注准确性和安全性的人来说,这是一个极其重要和实用的功能。

通过实时监视系统状态并在控制台中查看详细报表,让我始终保持掌控并了解系统状况。整体感受,PolarDB Serverless是一个在处理不同级别的工作负荷和有效管理成本的同时,提供可靠、高效和灵活的服务,希望阿里云能大力进行推广和渠道销售,让更多的技术人员能了解到这些,并投入企业生产环境中。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
28天前
|
关系型数据库 Serverless 分布式数据库
扩缩容操作对PolarDB Serverless的性能有多大影响?
PolarDB Serverless 的扩缩容操作对性能会产生一定的影响,但通过合理的规划、监测和措施,可以将这种影响控制在较小的范围内。同时,随着技术的不断进步和优化,扩缩容操作对性能的影响也会逐渐减小,为用户提供更稳定、高效的数据库服务体验。
|
28天前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 的自动扩缩容机制
PolarDB Serverless 作为一种创新的数据库服务模式,其自动扩缩容功能是其重要的特性之一。这一功能为用户带来了诸多优势,同时也有着复杂而精密的运作机制。
|
15天前
|
存储 弹性计算 关系型数据库
活动实践 | 告别资源瓶颈,函数计算驱动多媒体文件处理测评
本方案介绍了一种高效处理文件的方法,适用于企业办公和社交媒体应用。通过阿里云的函数计算、对象存储OSS和轻量消息队列,实现文件的异步处理,如格式转换和水印添加,有效减轻了核心应用的负担,提高了业务稳定性和资源利用率。方案包括云服务器ECS、云数据库RDS、OSS存储等组件,支持快速部署和资源清理。
|
27天前
|
监控 关系型数据库 Serverless
扩缩容操作对 PolarDB Serverless 性能的影响
扩缩容操作对 PolarDB Serverless 性能的影响
23 3
|
1月前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
29 6
|
2月前
|
人工智能 自然语言处理 监控
体验《触手可及,函数计算玩转 AI 大模型》解决方案测评
本文介绍了《触手可及,函数计算玩转 AI 大模型》解决方案的测评体验。作者对解决方案的原理理解透彻,认为文档描述清晰但建议增加示例代码。部署过程中文档引导良好,但在环境配置和依赖安装上遇到问题,建议补充常见错误解决方案。体验展示了函数计算在弹性扩展和按需计费方面的优势,但需增加性能优化建议。最后,作者明确了该方案解决的主要问题及其适用场景,认为在处理大规模并发请求时需要更多监控和优化建议。
52 2
|
2月前
|
人工智能 弹性计算 运维
《触手可及,函数计算玩转 AI 大模型》解决方案测评
对《触手可及,函数计算玩转 AI 大模型》解决方案的整体理解较好,但建议在模型加载与推理过程、性能指标、示例代码等方面增加更多细节。部署体验中提供了较详细的文档,但在步骤细化、常见问题解答、环境依赖、权限配置等方面有改进空间。解决方案有效展示了函数计算的优势,建议增加性能对比、案例研究和成本分析。方案基本符合生产环境需求,但需增强高可用性、监控与日志、安全性和扩展性。
|
2月前
|
人工智能 自然语言处理 Serverless
体验《触手可及,函数计算玩转 AI 大模型》测评报告
该解决方案利用阿里云函数计算服务高效部署和运行AI大模型,涵盖文本、图像、语音生成等应用。特点包括高效部署、极致弹性、按量付费及拥抱开源。用户可选择预设模板或直接部署模型镜像,快速启动AI项目。适用于内容创作、自动化客服、智能分析等场景,提供快速迭代和扩展能力。尽管已提供部署时长和费用预估,但对非技术用户还需更多指导。实际案例展示了其优势,但仍需补充技术细节和故障排除指南。
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
95 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
人工智能 自然语言处理 监控
《触手可及,函数计算玩转AI大模型》测评报告
《触手可及,函数计算玩转AI大模型》测评报告深入探讨了利用函数计算高效部署和运行AI大模型的方法。报告首先解释了通过函数计算实现弹性资源分配的原理,并指出文档在技术细节上的改进空间。在部署体验方面,报告肯定了文档提供的引导步骤和常见问题解答,但也指出了依赖库版本兼容性和权限设置等方面存在的问题。此外,报告强调了该方案在弹性资源分配和成本效益方面的优势,并提出了性能监控、多模型管理和高并发处理等方面的改进建议。最后,报告认为该方案适用于在线智能客服、内容生成等业务场景,但在数据安全和隐私保护方面需进一步加强。
42 2

热门文章

最新文章