TDSQL-C MySQL 版提供流量回放功能,通过“录制”生产数据库的真实 SQL 流量,并在目标数据库上进行“重放”,实现对变更后数据库稳定性与性能的精准验证,帮助降低数据库迁移与版本升级的验证成本和业务风险。本文为您介绍流量回放功能。
新手教学入口

您可在流量回放功能页面右上角的“新手教学”板块查看使用此功能的流程引导,便于快速上手此功能。单击隐藏教学,可隐藏新手教学板块;单击新手教学,可显示新手教学板块。
功能适用场景
在数据库迁移或版本升级场景中,您可以通过流量回放功能,将生产数据库跑过的真实 SQL 数据,放到目标实例上“重放”一遍,看哪些语句跑不通、哪些跑慢了。使用该功能相比于写测试用例省事,而且覆盖的 SQL 是真实业务跑出来的,其测试结果更加可信。
适用场景
场景 | 功能帮助 |
数据库迁移(自建 / 其他云迁移至 TDSQL-C MySQL 版) | 进行兼容性和性能的提前验证,在正式迁移前模拟演练找出可能的问题。 |
数据库版本升级 | 测试新版本有没有行为变化,性能有没有退化等。 |
故障复现 | 帮助在测试环境“重放”出生产故障,定位根因。 |
性能压测 | 用真实生产流量做基准测试,评估实例承载能力。 |
功能特性
多源流量获取:支持从多种来源获取真实业务 SQL 流量,为后续的流量回放提供数据基础,包含以下2种。
TDSQL-C MySQL 版实例回放:支持直接选择 TDSQL-C MySQL 版实例和回放时间段,系统自动从审计日志提取流量,无需手动导出文件。
其他云日志回放:支持从除了腾讯云以外的其他云(具体以控制台流量回放功能配置页面为准)导出审计日志后上传,支持 CSV、JSON 及压缩包(tgz)格式。
精细管理回放配置:回放配置中的时间粒度可精确到秒;支持立即执行任务,或者设定时间点定时触发,便于在业务低峰期执行;源实例为 TDSQL-C MySQL 版时可自动获取源实例慢 SQL 阈值。
智能预检查:回放前支持自动执行分项检查,包括文件预检查、环境预检查,可将环境等问题提前暴露。
生成分析报告:回放完成后,可以生成报告总览、性能趋势对比、异常报告三类报告。
任务全生命周期管理:多种任务状态,可覆盖完整执行周期;任务列表支持按状态、来源类型筛选;运行中任务可随时手动终止并保留部分报告。实现任务执行的全生命周期管理。
其他云审计日志回放的字段说明
必需字段:
timestamp、nsTime、thread_id、execTime、errCode、dbName、sql。可选字段:
checkRows、affectRows、sentRows、lockWaitTime、cpuTime、ioWaitTime、trxLivingTime、sqlType。功能支持版本
TDSQL-C MySQL 版5.7、8.0,实例形态为预置资源或 Serverless 的集群均支持。其中,开启自动暂停的 Serverless 实例不支持作为目标实例回放,Serverless 源实例也支持选择运行中(非暂停)的实例。
注意事项
其他云审计日志上传前请确保必需字段齐全,否则预检查会失败。
回放期间不要在目标实例上执行操作,否则会干扰数据。
目标实例数据需回档到流量产生时的状态,数据不一致会导致结果偏差。
NOW()、CURRENT_TIMESTAMP 等时间函数的回放结果和原来不同,属正常现象。腾讯云实例为源实例进行回放时,需确保源实例已开启全审计/规则审计。