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

news2024/11/22 21:32:59

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

    • 弹性压测三后续
    • 自动缩容
    • 全局一致性测试
    • 测评体验

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

弹性压测三后续

为了可以更快的达到:当数据库接收到新的只读负载后,Serverless系统会继续创建新的只读节点,直到满足新增只读负载的要求的目标。这里修改Serverless配置为
在这里插入图片描述
等待集群配置切换成功,此时查看集群节点信息
在这里插入图片描述

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左右
在这里插入图片描述
只读节点大概11:00左右创建成功,
在这里插入图片描述
但是点击【性能监控】页面,查看11:00到当前时间的PCU数量及PCU CPU使用率,并没有看到只读节点的相关信息
在这里插入图片描述
点击刷新【性能监控】页面也看不到只读节点的监控信息,这说明目前性能监控这里对于Serverless弹性增加节点的监控有一定的延迟性,为了看到只读节点的监控信息,等待到14min中的时候刷新性能监控页面,看到了只读节点信息
在这里插入图片描述
但是这里看到的只读节点信息在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弹性创建中
在这里插入图片描述
在这里插入图片描述
这里我再增加几个压测窗口发起256并发只读请求,等待5min左右可以看到新的只读节点创建中
在这里插入图片描述
持续观测一段时间【性能监控】可以看到主节点、只读节点PCU数量及PCU CPU使用率都趋于稳定,保持在1PCU
在这里插入图片描述
此时系统判定,Serverless规格已经满足实际负载,不会再继续增加新的只读节点。

自动缩容

停掉所有的Sysbench脚本后等待20min左右可以看到集群只读节点减少,剩下2个只读节点
在这里插入图片描述
等待较长时间后,最终PolarDB会缩容到只有一个主节点的状态。

全局一致性测试

高性能全局一致性SCC特性可以为PolarDB for MySQL Serverless提供跨节点无损读扩展的能力,即RO的无损强一致读。传统的Serverless的方案均是基于单机原地升降配实现,其规格受限于单物理机资源。而当RO能借助SCC提供无损强一致读后,针对大部分读多写少业务,我们都可以跨机提供CPU资源,上限远超单物理机限制。
修改Serverless配置,只读节点下限设置为1
在这里插入图片描述
使用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

执行后,可以看到一致性检查全部通过
在这里插入图片描述
点击【参数配置】集群下方【修改参数】按钮,修改loose_innodb_polar_scc参数为OFF,单击提交修改,单击确定,关闭SCC特性关闭SCC
在这里插入图片描述
弹框可以勾选需要关闭的数据库节点信息
在这里插入图片描述
等待1~3min参数配置生效后
在这里插入图片描述
回到测试窗口重新执行命令

/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

执行后,可以看到一致性检查出现失败
在这里插入图片描述

测评体验

整个测评体验的操作基本没有什么疑问,控制台的属性配置以及Serverless参数配置也很容易理解参数功能。只是在体验过程中,耗时比较久,通过配置Serverless实现弹性伸缩数据库节点,当负载升高时,自动增加数据库节点,当负载降低时,自动减少数据库节点。这个增加或者减少数据库节点的过程比较耗时,想要观察结果的话需要一定的耐心。
另外就是性能监控的延迟性,希望后续可以减少一下延迟,现在的结果来看,总感觉性能监控看到的内容都是十几分钟或者二十几分钟之前的集群信息。
最后就是PolarDB MySQL版Serverless弹性伸缩增加或减少数据库节点,对应的数据一致性如何保证,这个请各位开发者放心,查阅官方文档
在这里插入图片描述
可以看到数据一致性可以保证数据强一致性,到这里对于PolarDB MySQL版Serverless的测评全部结束,整体过程除了耗时以外,产品本身很棒。
片尾提出一个小疑问,就是说PolarDB MySQL版Serverless弹性伸缩时,只读节点的数据是否与现有主节点及只读节点的数据是一致的?查阅了一下官方文档,增加一个只读节点预计耗时5分钟,具体耗时受新增节点数量、库表数量、数据库负载等因素影响。
在这里插入图片描述
那么在这5分钟内主节点新增的数据当前增加的只读节点是否可以保持一致呢?大家也可以思考一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1608012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

流程图的新语法-mermaid的快速使用--推荐

chatgpt或者现在的大数据采用的流程图给出的代码如下: graph TD;A[接收客户请求] --> B[问题分类];B --> C[技术支持];B --> D[维修服务];C --> E[远程解决];C --> F[现场支持];D --> G[维修完成];G --> H[服务反馈];style A fill:#f9f,strok…

为什么学习C++之前学习C语言?

源地址:https://www.ctvol.com/c-cdevelopment/4074.html C 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C 是在C语言的基础上增加新特性,玩出了新规则,所以叫“C Plus Plus”,还有C#,当然C#一般是针…

刻度清晰耐酸碱腐蚀PFA材质实验室用塑料量具特氟龙量筒量杯

PFA量筒为上下等粗的直筒状,特氟龙量杯是上大下小的圆台形,底座均有宽台设计,保证稳定性,两者均可在实验室中作为定量量取液体的量具,上沿一侧有弧嘴设计,便于流畅地倾倒液体。 规格参考:5ml、…

机器人路径规划:基于Q-learning算法的移动机器人路径规划,可以自定义地图,修改起始点,提供MATLAB代码

一、Q-learning算法 Q-learning算法是强化学习算法中的一种,该算法主要包含:Agent、状态、动作、环境、回报和惩罚。Q-learning算法通过机器人与环境不断地交换信息,来实现自我学习。Q-learning算法中的Q表是机器人与环境交互后的结果&#…

(十八)C++自制植物大战僵尸游戏的游戏暂停实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/uzrnw 游戏暂停 当玩家遇到突发事件,可以通过暂停功能暂停游戏,以便及时处理问题。在激烈的游戏中,玩家可能需要暂停游戏来进行策略调整。此外,长时间的游戏对战可能会让玩…

开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread

开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread 简介例程代码函数说明arv_camera_set_acquisition_modearv_camera_create_streamarv_camera_get_payloadarv_buffer_newarv_stream_push_bufferarv_camera_start_acquisi…

一周IT资讯

又降了?运维4月平均月薪1W6? 薪资作为大部分人的主要收入来源,是每个人最关注的话题之一。 最近,小编搜索了近半年的运维薪资趋势,看看你的钱包缩水了没? *数据来自看准网 据了解,运维2024年…

【6】DongshanPI-Seven 应用开发_多线程编程记录

目录 1、多线程编程1.1 测试程序 1.2 测试结果 1、多线程编程 在Linux系统中,调度是以线程为单位的,资源分配是以进程为单位的。多进程是指多个main()函数的程序,多线程,只有1个main()函数。进程和线程是多任务操作系统中的两种不…

Linux 基于 UDP 协议的简单服务器-客户端应用

目录 一、socket编程接口 1、socket 常见API socket():创建套接字 bind():将用户设置的ip和port在内核中和我们的当前进程关联 listen() accept() 2、sockaddr结构 3、inet系列函数 二、UDP网络程序—发送消息 1、服务器udp_server.hpp initS…

【Flutter】自动生成图片资源索引插件一:FlutterAssetRefGenerator

介绍 FlutterAssetRefGenerator 插件:windows上 点击生成图片索引按钮后,pubspec.yaml 会出现中文乱码,需要手动改乱码;mac上没问题。 优点:点击图标自动生成。 目录 介绍一、安装二、使用 一、安装 安装FlutterAsset…

ubunt18.04安装ROS2

本文无废话,实现了ubunt18.04 下ros2的安装,并且同时兼容ros和ros2 如果想完ros(1)的,请参考我的前一篇文章:ubunt18.04安装ROS避坑指南 参考: https://blog.csdn.net/cau_weiyuhu/article/deta…

2024年【A特种设备相关管理(锅炉压力容器压力管道)】考试内容及A特种设备相关管理(锅炉压力容器压力管道)操作证考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年A特种设备相关管理(锅炉压力容器压力管道)考试内容为正在备考A特种设备相关管理(锅炉压力容器压力管道)操作证的学员准备的理论考试专题,每个月更新的…

5.Godot节点和功能及Node节点属性分析

1. 节点和功能的关系 节点 Node ,用于实现一种功能,例如,Sprite 节点,用于图片的显示一个节点的功能取决于它挂载了哪些子节点,它包含了哪些功能的子节点,就包含了对应子节点表示的功能节点是可选的&#…

Dota2 参议院

题目链接 Dota2 参议院 题目描述 注意点 senate[i] 为 ‘R’ 或 ‘D’假设每一位参议员都足够聪明,会为自己的政党做出最好的策略 解答思路 对于任意一位参议员,如果其有权利,当他后面没有另一方参议员,其会投票,…

小红书笔记写作方法和技巧分享,纯干货!

很多小伙伴感叹小红书笔记流量就是一个玄学,有时精心撰写的笔记却没有人看,自己随便写的笔记却轻轻松松上热门。实际上你还是欠点火候,小红书笔记写作是有一套方法和技巧的,总归是有套路的,如果你不知道,请…

C++ 数据结构 linux 【第一天】

1.命名空间 在C/C中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作 用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字…

【MIT6.824】lab3 Fault-tolerant Key/Value Service 实现笔记

引言 lab3A的实验要求如下: Your first task is to implement a solution that works when there are no dropped messages, and no failed servers. You’ll need to add RPC-sending code to the Clerk Put/Append/Get methods in client.go, and implement Pu…

✌粤嵌—2024/4/12—插入区间✌

代码实现: 解题思路:先将数组 newInterval 插入到数组 intervals 的末尾,再转换成合并区间 /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returne…

组合预测 | Matlab实现ICEEMDAN-SMA-SVM基于改进完备集合经验模态分解-黏菌优化算法-支持向量机的时间序列预测

组合预测 | Matlab实现ICEEMDAN-SMA-SVM基于改进完备集合经验模态分解-黏菌优化算法-支持向量机的时间序列预测 目录 组合预测 | Matlab实现ICEEMDAN-SMA-SVM基于改进完备集合经验模态分解-黏菌优化算法-支持向量机的时间序列预测预测效果基本介绍程序设计参考资料预测效果 基本…