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