面对即将到来的短期业务高峰或数据库结构变更(尤其是索引变更)时,您可以通过流量回放与压测功能,确认数据库实例规格是否需要扩容,并验证在真实业务场景下的实际效果,降低上线后引发故障的风险。此外,在数据库发生故障且无法定位原因时,可以利用克隆库复现故障场景,以便更好地定位故障原因。
前提条件
源数据库支持:
RDS MySQL
PolarDB MySQL版
说明不支持PolarDB MySQL版的企业版单节点实例。
PolarDB-X 2.0。
目标数据库实例为:
RDS MySQL。
PolarDB MySQL版。
PolarDB-X 2.0。
源数据库实例与目标数据库实例均已接入DAS,详情请参见接入阿里云数据库实例。
源数据库实例需开启DAS企业版,详情请参见管理DAS经济版和企业版。
说明如果您想分析压测前后,源数据库实例与目标数据库实例上SQL模板的执行性能差异,目标数据库实例也需要开启DAS企业版。SQL模板的执行性能差异可用来应对数据库引擎升级、规格切换等业务场景。
PolarDB-X 2.0目前仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)和新加坡地域。
适用场景
为应对即将到来的短期业务高峰,验证当前数据库实例规格是否需要扩容。
数据库结构变更后(尤其是索引变更后),验证在真实业务场景下的效果,降低变更上线后引发故障的风险。
数据库发生故障后,无法在发生故障时定位到原因,可以通过智能压测功能,在克隆库上复现故障场景,定位故障原因。
注意事项
为减少网络延迟对压测的影响,压测客户端和目标实例需要在同一个地域。
说明建议将压测客户端和目标实例放入同一个专有网络。
进行压测前,检查压测客户端与目标实例间的连通性,确保压测客户端的流量可以正常发送到目标实例。
费用说明
操作步骤
登录DAS控制台。
在左侧导航栏中,单击实例监控。
找到目标实例,单击实例ID,进入目标实例详情页。
在左侧导航栏单击请求分析 > SQL洞察和审计,然后在右侧打开的页面单击流量回放和压测。
在右侧单击新建任务。在新建任务对话框中,设置以下参数。
选择任务类型为回放流量压测,并输入任务名称。
说明请确认该回放流量时间段内,源库的SQL洞察和审计已开启。
在源端信息区域框中,设置以下参数后单击下一步。
配置
说明
实例来源
选择阿里云数据库为目标实例的来源。
数据库类型
您的数据库实例类型,您可在如下三种中选择其中一种:
MySQL:表示RDS MySQL实例。
PolarDB for MySQL:表示PolarDB MySQL版实例。
PolarDB-X:表示PolarDB-X 2.0实例。
说明PolarDB-X 2.0目前仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)和新加坡地域。
源实例
选择源实例的实例ID。
高级设置
如果您需要对源实例的部分数据库进行智能压测,请单击高级设置,配置目标数据库的数据库账号和密码,获取数据库信息后,选择目标数据库进行智能压测。
在目标端表结构和数据生成方式区域框中,设置以下参数。
配置
说明
数据库类型
目标数据库实例的类型,目前支持:
MySQL:表示RDS MySQL实例。
PolarDB for MySQL:表示PolarDB MySQL版实例。
PolarDB-X:表示PolarDB-X 2.0实例。
说明PolarDB-X 2.0目前仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)和新加坡地域。
基准数据迁移
您可根据源实例基准数据是否已迁移至目标实例,选择以下四种迁移方式:
通过备份恢复:目标实例基于时间点或者备份集克隆源实例。
说明DAS会自动购买和源实例规格一致的按量付费实例,并将备份恢复到该实例。
已完成数据迁移:已经将需要进行流量回放的时间段内源实例的表结构和数据同步至目标实例。
说明目标实例的表结构和数据,应与源实例保持一致,以保证压测流量正常执行。
输入DTS任务ID:已在DTS控制台创建数据迁移传输任务,将源实例的数据同步到目标实例。
说明关于DTS数据迁移,详情请参见数据迁移。
创建DTS迁移任务:直接创建数据迁移传输任务,无需到DTS控制台操作。
说明当源实例为阿里云数据库时,您可以选择以上四种方式中的其中一种,由于压测任务创建后,系统会自动购买和源库规格一致的按量付费实例,并将数据恢复到该实例,建议您选择通过备份恢复。
当源实例为自建数据库时,仅可选择已完成数据迁移、输入DTS任务ID和创建DTS迁移任务中的一种。
还原方式
选择还原方式,您可以根据需要选择如下一种方式:
按时间点
按备份集
说明当基准数据迁移为通过备份恢复时,需要配置此参数。
若选择还原方式为按备份集,需要对DAS服务关联角色进行授权,在跳出的对话框中,单击确定即可。
选择还原时间/备份集
根据还原方式选择还原的具体时间或备份集。
说明当基准数据迁移为通过备份恢复时,需要配置此参数。
迁移任务ID
源实例数据同步到目标实例的DTS数据迁移传输任务ID。
说明当基准数据迁移为输入DTS任务ID时,需要配置此参数。
DTS迁移任务规格
选择DTS迁移任务规格。
说明当基准数据迁移为创建DTS迁移任务,需要配置此参数。
目标实例
选择目标实例,系统默认访问目标实例的主地址。
说明当基准数据迁移为已完成数据迁移、输入DTS任务ID和创建DTS迁移任务时,需要配置此参数。
目标端高权限账号
目标实例的高权限账号名称和密码。
说明当基准数据迁移为已完成数据迁移、输入DTS任务ID和创建DTS迁移任务时,需要配置此参数。
源端高权限账号
源端实例的高权限账号名称和密码。
说明当基准数据迁移为通过备份恢复和创建DTS迁移任务时,需要配置此参数。
在压测基础设置区域框中,设置以下参数。
配置
说明
选择回放流量
选择回放流量的时间段。
说明该时间段内,源实例已开启SQL洞察和审计功能。
回放速度
源实例流量在目标实例上的回放速度,如1倍速表示原速回放。 回放倍数必须是正整数,取值:1~30。
说明如果您设置的回放速度超过目标实例规格支持的极限速度,压测任务将按照目标实例支持的极限速度进行回放。
在高级设置区域框中,选择部署压测程序的ECS。
您可以选择DAS自动购买和部署,系统将根据源库QPS和压测倍率购买合适规格的按量付费ECS实例。
您也可以通过新增按钮,选择需要部署压测程序的ECS实例,生成部署命令并复制到该实例上运行。并且您还需要执行
sudo yum install -y java-1.8.0-openjdk
命令在新增的ECS实例上部署Java客户端,客户端版本建议为Java8。
单击下一步,校验成功后单击确定创建压测任务。
查看智能压测结果
压测任务创建后,您可以返回任务列表页查看压测任务的详情。
您可在右侧的操作栏进行如下操作:
单击详情进入智能压测详情页,查看压测任务的执行情况和压测报告,具体说明如下表所示。
参数
说明
概览
源实例与目标实例在压测任务前后的基本信息对比。
性能趋势对比
压测任务前后,在不同性能指标上源实例与目标实例的差异对比。
SQL对比
若目标实例在压测前已开启自治功能,可分析压测前后,源实例与目标实例上SQL模板的执行性能差异对比。
说明SQL对比可用来应对数据库引擎升级、规格切换等业务场景。
参数对比
源实例与目标实例在重要参数上的差异对比。
若您想提前终止目标压测任务,请单击终止。
单击删除即可删除您创建的压测任务。
后续步骤
当压测任务结束之后,在智能压测详情页,确认无需再次压测时,您可释放对应的压测ECS机器和实例。
如果手动开启了源数据库的SQL洞察和审计,压测结束后,请关闭该功能,详细参照请参见关闭SQL洞察和审计。
相关API
API | 描述 |
创建压测任务。 | |
执行压测任务。 | |
停止压测任务。 | |
在ADAM上创建压测任务。 | |
删除压测任务。 | |
删除已停止的DBGateway元数据。 | |
查询压测任务配置信息。 | |
查询压测任务。 | |
查询压测任务列表。 |