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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 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的极致弹性,配置简单,功能很强大,对于企业来说,弹性增减数据库节点可以极大的优化企业数据管理成本以及运维成本。同时在应对大数据量并发时,可以自动化的弹性伸缩保障数据库节点的稳定运行,也保障了业务的稳定运行。真的是做到了超高弹性和性能、高可用和高可靠保障、高性价比,为企业保驾护航,很赞。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4月前
|
人工智能 关系型数据库 MySQL
基于阿里云的PolarDB MySQL版实现AI增强数据管理
本文将介绍如何利用阿里云的PolarDB MySQL版结合AI技术,实现数据管理的自动化和智能化。
288 0
|
26天前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
98 5
|
1月前
|
关系型数据库 Unix MySQL
MySQL是一种关系型数据库管理系统
MySQL是一种关系型数据库管理系统
39 2
|
24天前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
17 0
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB 并行查询问题之保证与MySQL的兼容性如何解决
PolarDB 并行查询问题之保证与MySQL的兼容性如何解决
36 1
|
3月前
|
关系型数据库 MySQL 分布式数据库
云原生数据库PolarDB MySQL版深度评测报告
作为一名开发人员,在日常工作中频繁与数据库打交道,对于数据库的性能、灵活性和易用性有着极高的要求。此次,我有幸对阿里云自主研发的云原生数据库PolarDB MySQL版进行了深入评测,旨在了解其是否能够满足现代应用的高性能、高可用性和弹性扩展需求。
84 4
|
3月前
|
安全 关系型数据库 MySQL
揭秘:如何在无影的Serverless世界中,悄无声息地操控MySQL数据库!
【8月更文挑战第8天】在云计算领域,Serverless 枟能凭借其高效与弹性特性脱颖而出。本文采用问答形式解析函数计算环境中 MySQL 数据库的安全高效访问方法。介绍了如何利用数据库插件或 SDK 连接 MySQL,并提供了一个使用 Python 和 `pymysql` 在阿里云函数计算中连接 MySQL 的示例代码片段。同时强调了通过环境变量或密钥管理服务安全处理数据库凭证的重要性。随着 Serverless 技术的发展,数据库操作将更加简便。
69 7
|
4月前
|
运维 关系型数据库 分布式数据库
PolarDB产品使用问题之Federated引擎是否支持弹性并行查询
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之使用polardb for mysql数据库的外网地址在程序中连接经常超时,如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之PolarDB MySQL版和PolarDB-X的区别是什么
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。

推荐镜像

更多