文档首页/ 数据复制服务 DRS/ 快速入门/ 创建录制回放任务
更新时间:2024-11-13 GMT+08:00

创建录制回放任务

录制回放是指将源数据库发生的真实业务流量,在目标数据库模拟执行,从而观察和检验目标数据库的功能和性能表现。常用于以下两个场景:

  • 功能验证回放:数据库搬迁前,通过录制回放可以提前得知源业务在目标数据库的运行效果。
  • 业务加压回放:通过控制回放的线程及回放速度,来模拟源业务流量放大的效果,从而分析目标数据库对于未来业务激增时的稳定性表现。

本文以跨区域的两个RDS for MySQL为例,帮助您使用DRS录制回放功能,通过公网网络完成SQL流量文件的回放。

操作流程

操作步骤

说明

准备工作

注册华为账号并开通华为云,实名认证,准备流量文件和目标数据库、数据库连接账号、网络等。

步骤一:创建录制回放任务

根据需要,选择源和目标数据库,创建回放任务。

步骤二:查询回放进度

回放过程中,可以通过查看进度了解回放的完成情况。

步骤三:查看回放报告

回放完成后,通过查看回放报告,了解各SQL执行情况。

结束任务

确定回放任务不再使用后,结束DRS任务。

准备工作

在进行录制回放前,需要参考如下内容,提前进行华为账号、源和目标数据库、数据库连接账号、SQL流量文件、网络等准备工作。

准备华为账号,创建用户并赋权使用DRS。

  1. 打开华为云网站
  2. 单击“注册”,根据提示信息完成注册。
  3. 勾选服务条款, 单击“开通”。

    系统提示开通成功。

  4. 实名认证,请参考:

  5. 注册华为云账号后,如果需要对华为云上的资源进行精细管理,请使用统一身份认证服务(Identity and Access Management,简称IAM)创建IAM用户及用户组,并授权,以使得IAM用户获得具体的操作权限,更多操作,请参见创建用户组、用户并授予DRS权限

在进行录制回放前,用户需要提前准备好源和目标数据库。

  • 源数据库实例:为中国-香港的RDS for MySQL数据库,用户可参考RDS for MySQL快速入门内容准备,本文示例信息如下:

    类别

    示例

    备注

    区域

    中国-香港

    选择和自己业务区最近的Region,减少网络时延。

    RDS实例名称

    rds-Replaysrc

    自定义,易理解可识别。

    数据库版本

    MySQL 5.7

    -

    实例类型

    单机

    本示例中为单机。

    实际使用时,为提升业务可靠性,推荐选择主备RDS实例。

    存储类型

    SSD云盘

    -

    可用区

    可用区一

    本示例中为可用区一。

    实际业务场景推荐选择主备RDS实例,此时建议将两个实例创建在不同的可用区,提升业务可靠性。

    性能规格

    通用型 2 vCPUs | 8GB

    -

    弹性公网IP

    10.154.217.42

    仅作为示例。

  • 目标数据库实例:为亚太-新加坡的RDS for MySQL数据库,用户可参考RDS for MySQL快速入门内容准备,本文示例信息如下:

    类别

    示例

    备注

    区域

    亚太-新加坡

    选择和自己业务区最近的Region,减少网络时延。

    RDS实例名称

    rds-Replaytar

    自定义,易理解可识别。

    数据库版本

    MySQL 5.7

    -

    实例类型

    单机

    本示例中为单机。

    实际使用时,为提升业务可靠性,推荐选择主备RDS实例。

    存储类型

    SSD云盘

    -

    可用区

    可用区一

    本示例中为可用区一。

    实际业务场景推荐选择主备RDS实例,此时建议将两个实例创建在不同的可用区,提升业务可靠性。

    性能规格

    通用型 2 vCPUs | 8GB

    -

在创建任务前,源数据库需要提前完成SQL流量文件录制。

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域“中国-香港”。
  3. 选择数据库 > 关系型数据库。进入关系型数据库信息页面。
  4. 在“实例管理”页面,选择数据库准备中的源数据库实例,单击实例名称,进入实例的“概览”页签。。
  5. 在左侧导航栏单击“SQL审计”,单击“设置SQL审计”,在弹出框中设置SQL审计日志保留策略,单击“确定”,保存设置策略。

    • 审计日志开关:打开
    • 保留天数:7天
    图1 设置SQL审计

为了保证录制回放任务顺利进行,在使用DRS进行录制回放前,需要单独创建用于DRS任务连接的数据库账号,建议连接目标数据库账号的权限和源保持一致,再启动任务。

目标数据库连接账号:

  1. 通过DAS连接RDS for MySQL实例
  2. 参考通过DAS创建账号章节,执行以下语句,创建用于连接的数据库用户usertar:

    CREATE USER 'usertar'@'%' IDENTIFIED BY 'password';

  3. 执行以下语句,授予数据库用户usertar权限:

    GRANT SELECT,CREATE,ALTER,DROP,DELETE,INSERT,UPDATE,TRIGGER,REFERENCES,SHOW VIEW,EVENT,INDEX,LOCK TABLES,CREATE VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,RELOAD,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'usertar'@'%' WITH GRANT OPTION;

在创建公网网络录制回放任务前,用户需要先申请弹性公网IP,并在设置源数据库安全组规则,使得该弹性公网IP可以访问源数据库。

  1. 参考申请弹性公网IP内容,为DRS回放任务创建弹性公网IP。
  2. 设置源数据库安全组的规则。

    1中DRS实例弹性公网IP加入源数据库RDS for MySQL实例所属安全组的入方向规则,选择TCP协议,端口为源数据库RDS for MySQL实例的端口号。

步骤一:创建录制回放任务

本步骤是针对准备工作中所举示例进行参数设置及介绍,如果需要了解更多录制回放的使用指导,请参考回放方案概览

  1. 进入创建DRS录制回放任务页面
  2. 填写基本信息。

    图2 基本信息

    参数

    示例

    参数说明

    区域

    亚太-新加坡

    当前任务所在的区域。

    项目

    亚太-新加坡

    当前区域下可以选择的项目。

    任务名称

    DRS-Replay

    录制回放任务的名称。

    描述

    暂不填写

    任务描述。

  3. 填写录制回放实例信息。

    图3 回放录制实例信息

    参数

    示例

    参数说明

    数据流动方向

    本云

    创建任务的数据流动方向,以华为云数据库为中心进行选择,分为本云和入云。

    • 本云:指源和目标数据库均为华为云数据库实例的场景。
    • 入云:指目标数据库为华为云数据库实例且需将数据传入的场景。

    源数据库引擎

    MySQL

    源数据库的引擎类型。

    流量文件来源

    华为云API下载

    源数据库流量文件的来源。

    目标数据库引擎

    MySQL

    目标数据库的引擎类型。

    网络类型

    公网网络

    DRS任务进行录制回放的网络类型。

    目标数据库实例

    rds-Replaytar

    选择目标数据库实例。

    目标数据库实例名称为数据库准备中的rds-Replaytar。

    录制实例所在子网

    默认的子网

    录制回放任务所在的子网。

    指定公网IP

    -

    选择DRS实例的公网IP,网络准备中创建的公网IP。

  4. 选择可用区和企业项目。

    图4 选择可用区和企业项目

    参数

    示例

    参数说明

    可用区

    可用区1

    选择DRS任务创建的可用区。

    企业项目

    default

    对于已成功关联企业项目的用户,仅需在“企业项目”下拉框中选择目标项目。

    更多关于企业项目的信息,请参见《企业管理用户指南》

    标签

    暂不添加

    对DRS任务的标识。使用标签可方便管理您的任务。

  5. 单击“开始创建”

    等待5~10分钟后,页面显示“回放实例创建成功”表示DRS任务已创建成功。

  6. 在“源库及目标库”页面,填选源库信息、目标库信息。

    • 源库信息
      • 流量文件来源:华为云API下载
      • 数据库实例名称:选择数据库准备中的源数据库实例rds-Replaysrc
      • 流量类型:审计日志
      • 时间范围:选择SQL流量文件准备的审计日志时间范围
    • 目标库信息

      填写选择连接账号准备中的连接信息。

  7. 填写任务配置。

    图5 任务配置

    参数

    示例

    参数说明

    SQL类型配置

    SELECT

    选择回放到目标数据库SQL类型,默认选择SELECT,可选SELECT、INSERT、UPDATE、DELETE、DDL。

    回放模式

    性能模式

    回放任务的模式,可以选择“性能模式”或“事务模式”。

    • 性能模式:可以设置并发连接数,回放过程中将按照设置的连接数在目标库回放。不保证源库的SQL在目标库回放时是同一个线程连接回放,回放性能较好。
    • 事务模式:不可以设置并发连接数,将按照源库日志中连接信息动态调整连接数,可以保证源库同一个连接中的事务SQL顺序执行。

    回放SQL过滤

    -

    支持SQL内容模糊匹配过滤,将按照输入的条件信息模糊匹配回放SQL。

    非条件过滤

    -

    该选项用于过滤SELECT,UPDATE,DELETE等类型的SQL中不包含条件的语句

    并发连接数

    8

    设置DRS录制回放任务的回放线程数。

    加速配置

    100%

    设置录制回放任务在相同时间内回放SQL的总量与源库执行SQL总量的比值。

  8. 单击“目标库信息”处的“测试连接”,测试并确定与目标库连通后,单击“下一步”
  9. “预检查”页面,进行回放任务预校验,校验是否可进行。

    • 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。
    • 预检查完成后,且所有检查项结果均通过时,单击“下一步”

  10. “任务确认”页面,设置回放任务的启动时间。

    图6 任务启动设置

    参数

    示例

    参数说明

    启动时间

    立即启动

    录制回放任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”,优选“稍后启动”。

    任务异常通知设置

    关闭

    该项为可选参数,开启之后,选择对应的SMN主题。当任务状态、时延指标、数据等异常时,系统将发送通知。

    任务异常自动结束时间

    14

    设置任务异常自动结束天数。设置任务异常自动结束天数后,异常且超时的任务将会自动结束。

  11. 确认任务信息无误后,单击“启动任务”,提交回放任务。
  12. 回放任务提交后,您可在“录制回放管理”页面,查看任务状态或者查询回放进度

    • 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。
    • 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。

步骤二:查询回放进度

回放进度展示了回放过程中SQL执行情况,可以帮助您了解任务完成的情况。

  1. “录制回放管理”界面,选中指定回放任务,单击任务名称,进入“基本信息”页面。
  2. 单击“回放进度”页签,查看任务进度

    • 回放进度模块中,您可以查看任务状态、启动时间、SQL总量以及已回放SQL数量等信息。
    • 录制回放统计图支持选择查看某一时间段内的SQL总量、执行量、异常量以及慢SQL数量情况。
    • 录制回放异常SQL模块中,展示回放异常的SQL对象分类及数量。
    • 慢SQL模块支持查看SQL原始和回放耗时。
    • 执行SQL模块展示回放过程中正在目标库运行的SQL情况。

  3. 回放完成后,可通过查看回放报告,了解各SQL执行情况。

步骤三:查看回放报告

回放报告记录了录制回放目标库中各SQL执行时间曲线,以及各SQL的执行量、执行时长等信息。

  1. “录制回放管理”界面,选中指定回放任务,单击任务名称。
  2. “回放报告”页签,查看当前任务的报告信息。

    • 录制回放统计图支持选择查看某一时间段内,在目标库回放的SQL总量、执行量、异常量以及慢SQL数量情况。
      图7 回放统计图

    • 慢SQL模块支持查看各类型SQL的数量和回放耗时情况。
    • 录制回放异常SQL模块中,展示回放异常的SQL对象分类和数量。
      图8 回放SQL

结束任务

确定回放任务不再使用后,结束DRS任务。

  1. 在“录制回放管理”页面的任务列表中,选择要结束的任务,单击操作列“结束”。
  2. 在弹出框中单击“是”,提交结束任务。