数据库重演 (Database Replay) 是 DM 数据库用来重现、定位和分析问题的一个重要手段,其基本原理是在数据库系统上捕获所有负载(记录外部客户端对服务器的请求),保存到二进制捕获文件,然后通过 DM 提供的数据库重演工具将捕获文件中的请求发送给捕获前由原始数据库备份恢复而来的重演测试系统上,从而帮助重现当时的场景。
使用方法如下:
用户可以调用系统过程 sp_start_capture (path varchar (256), duration int) 来启动捕获发往数据库的所有负载,并将该阶段收到的所有请求保存到二进制捕获文件中,然后使用 DM 数据库重演客户端工具重放二进制捕获文件,再现当时真实环境的负载及运行情况,帮助进行问题跟踪和诊断。使用系统过程 sp_stop_capture() 可以停止捕获。
Replay 的使用必须指定必要的执行参数,其调用格式如下:DREPLAY SERVER=LOCALHOST:5236 FILE=.\test.cpt
例如:我们设置 d:\ 捕获文件 test.cpt,-1 表示持续时间为无限制,即需要手动停止捕获或磁盘空间满为止。
call sp_start_capture('d:\test.cpt',-1) ; --开始捕获 |
结束后我们可以在 d:\ 看到捕获文件 test.cpt,开始进行重演 dreplay.exe server=127.0.0.1:5236 file=d:\test.cpt。


最终可以看到重演成功,而我们在捕获过程中数据库收到的所有请求都已经重演完成。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




