使用DAS实现数据库自动扩容和回缩

本文涉及的产品
数据传输服务 DTS,同步至DuckDB 3个月
简介: 暂无

使用DAS实现数据库自动扩容和回缩

1. 购买DAS专业版并新增实例

登录DAS专业版购买页面,根据界面提示选择对应参数,购买DAS专业版。

DAS控制台DAS专业版管理页面,单击页面右上角新增实例。

在选择实例的搜索框里输入需要使用DAS专业版管理的PolarDB实例ID,勾选已查询出来的实例,添加至右侧区域。

说明:DAS专业版会自动打开PolarDB的SQL洞察功能。DAS将赠送给您5GB SQL洞察存储空间,超出部分按照0.008元/GB/小时收费,日志至少保存30天。

单击确定后页面会提示新增成功,可到已使用实例列表页面查看。

2. 开启DAS自治服务

登录PolarDB MySQL控制台,单击集群列表,选择已创建的集群ID,进入集群详情页。

在左侧导航栏选择一键诊断,在自治中心页签下,单击右侧自治功能开关进入设置页面。

开启自治服务。

单击确定。

3. 构造数据

在PolarDB MySQL中创建表并导入测试数据。

登录PolarDB MySQL控制台,单击实例ID,进入实例详情后,单击数据库管理 > 创建数据库,完成数据库的创建。

说明:为案例展示需要,本案例中数据库的名称定为das_test。

       

通过DMS登录数据库:在PolarDB MySQL控制台,进入实例详情页,单击SQL查询,跳转DMS控制台后输入账号和密码。

说明:首次使用DMS连接PolarDB MySQL实例时,系统会提示您授权白名单,单击确认后即可完成授权。

成功登录后,直接打开数据库的SQL Console面板,输入以下语句,创建PolarDB MySQL表。

1)执行如下语句创建一张students表。


         

2)如下两条INSERT INTO语句各执行一次,写入两条数据。


         

3)重复执行如下语句建议执行20次以上,生成200万行数据。


         

4. 模拟压测

本步骤需要在ECS控制台中,登录ECS实例部署压测程序,并使用该程序模拟流量注入。

单击下载地址 ,下载压测程序。

开通ECS服务器,本案例要求配置如下:

地域与可用区:与已创建的PolarDB MySQL集群一致。

实例规格:建议选择计算型、4vCPU 8GiB以上规格。

镜像:CentOS 7.8 64位。

系统盘 :选择 ESSD云盘 40GB。

公网IP:勾选分配公网IPV4地址。

带宽计费模式:选择按使用流量。

带宽峰值:设置为10Mbps。

登录凭证

密钥对:选择已有的密钥对,或者单击创建密钥对即时创建密钥对。

自定义密码:输入并确认密码。使用用户名和密码登录实例时,Linux实例默认用户名为root,Windows实例默认用户名为administrator

创建后设置:在实例创建完成后,自行绑定密钥对或者重置实例密码。

其余配置不做要求,选择默认即可。

PolarDB MySQL控制台的集群详情中,将ECS的IP地址添加至PolarDB MySQL的白名单中。

登录ECS。

1)登录ECS控制台,选择实例,单击开通的实例ID名称。

2)单击远程连接。

3)可选择Workbench远程连接方式,单击立即登录。

执行如下命令创建目录。


         

将下载的das-testbed-simple.zip 压缩包上传至ECS 实例的 /usr/local/src 目录下。

Windows系统下载使用MobaXterm工具登录ECS地址上传。

Macos系统使用终端上传。

src目录下执行如下命令解压das-testbed-simple.zip


         

依次执行如下命令编辑data-source.properties,复制PolarDB的集群地址替换该文件里的占位符,并设置账户和密码。

1)在PolarDB集群的基本信息页面,获取集群链接地址 。

2)修改配置文件data-source.properties


         

按i进行修改,修改完成后按Esc再输入:wq保存退出。

说明:标红位置参数按照实际环境配置。

jdbc.url:

*********.rwlb.rds.aliyuncs.com:PolarDB MySQL集群的链接地址。

das_test:数据库名称。

jdbc.username:账户名,登录PolarDB控制台,在配置与管理 > 账号管理页面,进行查看。

jdbc.password:账户密码。

执行如下命令,修改test-scenario-config.json 的内容如下:


         

按i进行修改,修改完成后按Esc再输入:wq保存退出。


         

说明:该配置测试程序以10个线程并发执行 慢查询select语句20分钟,把 PolarDB只读库或者主库的CPU持续打高。

通过yum命令在 ECS上安装 java。


         

在终端窗口运行以下命令,对PolarDB进行高并发压测。


         

5. 查看自动扩容结果

登录PolarDB MySQL控制台

在左侧菜单单击一键诊断。

在自治中心页签下,向下拖动页面,单击弹性伸缩的事件详情。

可以看到该事件调用PolarDB OpenAPI进行规格升级。

登录PolarDB MySQL控制台,单击集群ID,在基本信息页可看到当前规格已升级为8核32GB。

6. 查看自动回缩结果

当压测停止半个小时后,因为实例的负载很低,DAS调用PolarDB的OpenAPI规格回缩。

登录PolarDB MySQL控制台,单击集群ID,在基本信息页可看到当前规格已变更为2核8GB。

实验链接:https://developer.aliyun.com/adc/scenario/05ffc4526f1e44eb84d57600e76bcab9

相关文章
|
消息中间件 数据库 开发者
《微服务必解之惑:分布式事务方案大揭秘》
微服务架构因灵活性与可扩展性成为企业首选,但分布式事务问题随之凸显。本文探讨了多种解决方案:两阶段提交(2PC)和三阶段提交(3PC)保证强一致性,但存在性能瓶颈;基于消息队列的最终一致性方案通过异步通信提升性能,适合对实时性要求不高的场景;Saga模式和TCC模式分别通过补偿事务和三阶段控制实现灵活处理。选择方案需综合考虑业务需求、系统架构及开发成本,以找到最优解。掌握这些方法,可有效应对微服务中的分布式事务挑战,构建高效稳定的系统。
422 0
|
11月前
|
数据采集 人工智能 边缘计算
爬虫IP代理效率优化:策略解析与实战案例
本文深入探讨了分布式爬虫中代理池效率优化的关键问题。首先分析了代理效率瓶颈的根源,包括不同类型代理的特点、连接耗时及IP失效问题。接着提出了六大核心优化策略:智能IP轮换矩阵、连接复用优化、动态指纹伪装、智能重试机制等,并结合电商价格监控、社交媒体舆情分析和金融数据抓取三个实战案例,展示了优化效果。同时建立了三维效率评估体系,从质量、成本和稳定性全面衡量性能。最后展望了AI驱动调度、边缘计算融合等未来演进方向,帮助爬虫系统实现从“暴力采集”到“智能获取”的进化,大幅提升效率并降低成本。
485 0
|
机器学习/深度学习 搜索推荐 数据挖掘
详解相似度计算方法及其应用场景
详解相似度计算方法及其应用场景
|
运维 Kubernetes 监控
PaaS平台
【7月更文挑战第2天】PaaS平台
658 58
|
传感器 资源调度 Shell
遥感物理基础(2)物体的发射与反射辐射特征
本文内容主要介绍地物的发射和反射辐射特征,通过名词解释与案例,认识地物特征与遥感影像成像的联系,结合实践理解晦涩难懂的原理
1753 0
|
存储 机器学习/深度学习 算法框架/工具
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)
783 1
|
缓存 安全 Java
多线程--深入探究多线程的重点,难点以及常考点线程安全问题
多线程--深入探究多线程的重点,难点以及常考点线程安全问题
642 1
|
程序员 编译器 C语言
【C语言】动态内存管理(malloc,free,calloc,realloc)-- 详解
【C语言】动态内存管理(malloc,free,calloc,realloc)-- 详解
|
前端开发
React组件通信:如何优雅地实现组件间的数据传递
React组件通信:如何优雅地实现组件间的数据传递
552 0
|
API
Qt之QNetworkProxy(网络代理)
简述 QNetworkProxy类提供了一个网络层代理。 QNetworkProxy提供了配置网络层代理支持Qt网络类的方法。目前支持的类有QAbstractSocket、QTcpSocket、QUdpSocket、QTcpServer和QNetworkAccessManager。 简述 介绍 网络请求 设置代理 效果 源码 介绍 代理被设
3839 0

相关产品

  • 数据库自治服务
  • 下一篇
    开通oss服务