获取tidb的sql 流量,将流量解析成sql 进行回放

获取tidb的sql 流量,将流量解析成sql 进行回放
这个有工具可以获取流量然后进行解析流量包我为sql 吗
或着其他方法实现

看了一下这个sql-replay,这个只是回放使用,但是需要先抓取出来原tidb的查询sql,进行回放到另一台tidb ,目的是测试一下 另一套tidb的资源控制
有没有好的方案抓取tidb的流量sql

ticdc?

tidb的日志不能回放么

这个了解一下 sql-replay

可以转化为binlog,对接mysql生态

TiDB 没有直接的工具来支持做这个事情,我觉得可以考虑的方案是,1)通过 ticdc 输出到 kafka,而后自行编写消费程序消费 kafka,2)通过 tidb-binlog 输出到 file,而后解析 file 为 sql 文本

回放的目的是什么,如果是模拟生产负载,Ticdc 肯定是不行,Ticdc 捕获不了 select 语句,并且其他的语句也是 Ticdc 自己生成的,不是原 SQL,前边提到的 sql-replay 工具可能适合你。
如果目的是数据同步的话,可以用 TiCDC。

可以用binlog

看楼上的回答,也有工具

看了一下这个sql-replay,这个只是回放使用,但是需要先抓取出来流量的sql,进行回放到另一台tidb ,目的是测试一下 另一套tidb的资源控制

ticdc到kafka,解析kafka或者,cdc到mysql,然后解析mysql的binlog

tcpdump抓流量,mysql-replay回放

1 个赞

用 br 或者 dumpling+lightning 导出导入到新集群,TiCDC 或者 binlog 接增量。
老集群收集流量,新集群回放(只回放select)

sql-replay 的抓包工具 parse-tshark 也是可以抓取 tidb 节点的流量,然后进行回放的哈

TiCDC 或者 binlog 接增量 都是写入
select 如何回放