From db8d0296490d92f3fd05b7cf358f2f2ee21e08a4 Mon Sep 17 00:00:00 2001 From: wang_zhengyuan Date: Sat, 1 Mar 2025 17:50:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=95=E5=88=B6=E5=9B=9E=E6=94=BE=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E5=AE=98=E7=BD=91=E8=B5=84=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\345\267\245\345\205\267\351\223\276.md" | 1 + ...36\346\224\276\345\267\245\345\205\267.md" | 46 +++++++++++++++++++ content/zh/menu/index.md | 1 + 3 files changed, 48 insertions(+) create mode 100644 "content/zh/docs/AboutopenGauss/\345\275\225\345\210\266\345\233\236\346\224\276\345\267\245\345\205\267.md" diff --git "a/content/zh/docs/AboutopenGauss/\345\267\245\345\205\267\351\223\276.md" "b/content/zh/docs/AboutopenGauss/\345\267\245\345\205\267\351\223\276.md" index 47dc5eec4..5bc37ab0a 100644 --- "a/content/zh/docs/AboutopenGauss/\345\267\245\345\205\267\351\223\276.md" +++ "b/content/zh/docs/AboutopenGauss/\345\267\245\345\205\267\351\223\276.md" @@ -10,3 +10,4 @@ - **[openGauss客户端工具DataStudio](openGauss客户端工具DataStudio.md)** - **[一站式安装数据库](一站式安装数据库.md)** - **[数据库安装流程解除对root用户的依赖](数据库安装流程解除对root用户的依赖.md)** +- **[录制回放工具](录制回放工具.md)** diff --git "a/content/zh/docs/AboutopenGauss/\345\275\225\345\210\266\345\233\236\346\224\276\345\267\245\345\205\267.md" "b/content/zh/docs/AboutopenGauss/\345\275\225\345\210\266\345\233\236\346\224\276\345\267\245\345\205\267.md" new file mode 100644 index 000000000..7c1e4ea7a --- /dev/null +++ "b/content/zh/docs/AboutopenGauss/\345\275\225\345\210\266\345\233\236\346\224\276\345\267\245\345\205\267.md" @@ -0,0 +1,46 @@ +# 录制回放工具 + +## 可获得性 + +本特性自openGauss 6.0.0版本开始引入。 + +## 特性简介 + +录制回放工具用于将源端数据库的业务SQL流量快速镜像至目标端数据库。 + +## 客户价值 + +通过使用录制回放工具,可将源端数据库流量快速镜像至openGauss数据库,实现对openGauss数据库的流量压测和业务兼容性检查。 + +## 特性描述 + +录制回放工具的录制功能,可以监控源库的业务网口,采集源库的网络流量,生成网络数据包文件;录制回放工具的解析功能,可以基于网络数据包文件解析出源库的业务SQL信息(包括SQL语句以及事务顺序、并发和SQL耗时等);录制回放工具的回放功能,可以将解析出的SQL语句镜像回放到目标端数据库,保持事务顺序和并发度与源端一致,对于查询语句,回放功能还支持以N倍的源端并发度进行回放,以实现对目标库的N倍并发查询压力测试。 + +## 特性增强 + +- 录制功能当前支持的数据库产品有MySQL和openGauss,支持向openGauss系数据库进行回放。 +- 录制方式有tcpdump和attach,前者通过采集网络流量并解析获取SQL,后者通过对JDBC接口进行动态插桩获取SQL,对MySQL,还支持general录制方式,即通过查询MySQL系统表mysql.general_log获取SQL。 +- 回放功能支持串行回放和并行回放,串行回放时可保持SQL执行顺序与源库一致,并行回放时支持SQL执行顺序、并发度与源库一致。 +- 回放时支持业务SQL间保持和源端一致的执行时间间隔。 +- 对于查询语句,解析时支持解析源端的查询结果集,回放时支持对比源端和目标端的查询结果集差异。 +- 支持录制、解析、回放同时启动,实现边录制,边解析,边回放的流式处理功能。 +- 回放时支持输出执行失败的SQL,执行过慢的SQL及其在目标库的执行计划,支持对比SQL在源库和目标库的执行耗时,并输出对比报告。 + +## 特性约束 + +- tcpdump录制时,需将工具部署在源数据库所在的服务器,且只有root用户或sudo提权用户才能使用该功能。 +- tcpdump录制时,源数据库客户端需禁用ssl。 +- 通过解析网络数据包的方式获取SQL时,只能获取录制开始后新建的数据库会话执行的业务SQL。 +- attach方式录制时,只支持对JDBC单线程的java应用程序进行动态插桩,且版本要求为java11及以上。 +- 录制方式为attach或general方式时,回放功能不支持对比查询结果集,不支持并行回放,不支持保持与源库一致的时间间隔。 + +## 依赖关系 + +tcpdump方式录制时,依赖于tcpdump工具。 + +## 参考文档 + +开源社区地址:[transcribe-replay-tool](https://gitee.com/opengauss/compatibility-assessment/tree/master/dynamic_sql_collection/transcribe-replay-tool) + +详细参考文档: README.md + diff --git a/content/zh/menu/index.md b/content/zh/menu/index.md index b5d7dbb0a..e332a8f39 100644 --- a/content/zh/menu/index.md +++ b/content/zh/menu/index.md @@ -177,6 +177,7 @@ headless: true - [openGauss客户端工具DataStudio]({{< relref "./docs/AboutopenGauss/openGauss客户端工具DataStudio.md" >}}) - [数据库安装流程解除对root用户的依赖]({{< relref "./docs/AboutopenGauss/数据库安装流程解除对root用户的依赖.md" >}}) - [支持自定义ssh端口]({{< relref "./docs/AboutopenGauss/支持自定义ssh端口.md" >}}) + - [录制回放工具]({{< relref "./docs/AboutopenGauss/录制回放工具.md" >}}) - [中间件]({{< relref "./docs/AboutopenGauss/中间件.md" >}}) - [分布式数据库能力]({{< relref "./docs/AboutopenGauss/分布式数据库能力.md" >}}) - [使用kubernetes部署分布式数据库]({{< relref "./docs/AboutopenGauss/使用kubernetes部署分布式数据库.md" >}}) -- Gitee