PolarDB分布式版流量回放和压测

面对即将到来的短期业务高峰或数据库结构变更(尤其是索引变更)时,您可以通过流量回放与压测功能,确认数据库实例规格是否需要扩容,并验证在真实业务场景下的实际效果,降低上线后引发故障的风险。此外,在数据库发生故障且无法定位原因时,可以利用克隆库复现故障场景,以便更好地定位故障原因。

前提条件

  • 已开启SQL洞察和审计

  • 仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)和新加坡地域。

适用场景

  • 为应对即将到来的短期业务高峰,验证当前数据库实例规格是否需要扩容。

  • 数据库结构变更后(尤其是索引变更后),验证在真实业务场景下的效果,降低变更上线后引发故障的风险。

  • 数据库发生故障后,无法在发生故障时定位到原因,可以通过流量回放与压测功能,在克隆库上复现故障场景,定位故障原因。

注意事项

  • 为减少网络延迟对压测的影响,压测客户端和目标实例需要在同一个地域。

    说明

    建议将压测客户端和目标实例放入同一个专有网络。

  • 压测对源实例没有影响,无需在业务低峰期操作。

  • 进行压测前,检查压测客户端与目标实例间的连通性,确保压测客户端的流量可以正常发送到目标实例。

操作步骤

  1. 单击SQL洞察页签,再单击流量回放和压测页签。

  2. 单击新建任务,按需设置源实例配置

    image

    说明
    • 数据库类型中PolarDB-X目前仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)和新加坡地域。

    • 请确认回放流量时间段内,源实例的SQL洞察与压测(新版)功能已开启。

  3. 按需完成目标实例配置

    image

    配置

    说明

    数据库类型

    目标实例必须为RDS MySQL、PolarDB MySQLPolarDB-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。

  4. 单击下一步,完成预检查后,单击确定完成任务创建。

  5. 您可在右侧的操作栏进行如下操作:

    • 单击详情进入智能压测详情页,查看压测任务的执行情况和压测报告,具体说明如下表所示。

      参数

      说明

      概览

      源实例与目标实例在压测任务前后的基本信息对比。

      性能趋势对比

      压测任务前后,在不同性能指标上源实例与目标实例的差异对比。

      SQL对比

      若目标实例在压测前已开启自治功能,可分析压测前后,源实例与目标实例上SQL模板的执行性能差异对比。

      说明

      SQL对比可用来应对数据库引擎升级、规格切换等业务场景。

      参数对比

      源实例与目标实例在重要参数上的差异对比。

    • 若您想提前终止目标压测任务,请单击终止

    • 单击删除即可删除您创建的压测任务。

    说明

    当压测任务结束之后,在智能压测详情页,确认无需再次压测时,您可释放对应的压测ECS实例。