目录 线上流量 什么是录制线上流量回放 为什么需要录制线上流量回放 线上流量回放的限制是什么 回放差异 diff diff 实现对比和去噪 demo 实现 docker-compose diff 效果 diff 限制 缺陷 尝试的解决方案 可以通过复制粘贴人为构造回放所需的测试数据日志 解决所有问题以后还有什么不优雅的地方 进一步完善 线上流量

什么是录制线上流量回放

为什么需要录制线上流量回放

项目大迭代更新,容易漏测,或者有很多没用评估到的地方。 如果用线上流量做一次回归测试,可以进一步减少 bug 的风险。 大大节省构造测试数据,或者构造测试数据脚本的时间,提高效率。 线上流量回放的限制是什么

只回放 GET 请求 因为其他请求的回放,会对用户数据进行操作,有风险,需要排除。

除非构建多套备份数据库,但成本太高,不是很有必要。

需要对比回放前后的流量 不然回放就没有意义了,你都不知道回放前后对比的差异是什么。

需要去噪音 对比完了,对于一些类似时间戳的值,其实就是噪音,这些不一样很正常,我们需要剔除,不然差异没有价值。

由此可见,想要正确打开线上流量录制回放,需要解决很多问题。

而重中之重,就是 diff。

回放差异 diff

diff 实现对比和去噪