TDSQL-MySQL相对MySQL5.7版本主从复制性能优化

TDSQL8.0 版本提升复制效率的性能优化

  1. 支持表级别并行复制,显著降低主备延迟

TDSQL 在 8.0 版本中引入了表级别并行复制功能,通过设置复制模式变量 slave_parallel_type 为 TABLE,实现基于表粒度的并行回放,有效提升备机应用 binlog 的并发能力。该优化特别适用于多表并发写入场景,可显著降低主备延迟。

  1. 优化 slave 节点写 relay log 性能,减少 I/O 开销

在 slave 节点上,通过参数 txsql_slave_io_optimaze_write 控制,将原本每接收一个事务就写入 relay log 的行为优化为"收到完成事务后再 write",从而减少频繁的磁盘写操作,提升 IO 效率。该参数在模板中默认开启,有助于提升复制链路整体吞吐。

  1. 强同步复制机制优化,保障高延迟网络下的复制性能

TDSQL 自研强同步复制技术解决了原生 MySQL 半同步的超时蜕化和高延迟下性能下降问题。通过以下机制实现:

引入 rpl_slave_ack_thread 线程异步处理 ACK,避免主线程阻塞;

使用 UDP 协议发送 ACK,并采用滑动窗口机制保证可靠性;

在 Master 等待 ACK 期间,会话被保存并切换线程处理其他请求,实现线程池异步化。

经过优化,在跨 IDC 高延迟场景下,强同步的 TPS 与异步复制相当,无性能损耗。

  1. Binlog Group Commit 锁优化,提升高并发提交性能

TDSQL 去除了 MySQL 原生的全局互斥锁机制,改为每个提交请求使用独立的条件变量和互斥锁,大幅降低锁冲突。这一优化减少了高并发事务提交时的等待时间,间接提升了主库生成 binlog 的效率,从而加快复制链路的数据产出速度。

  1. 大事务自动识别与 binlog 格式转换,降低从库重放开销

系统可自动识别大事务,并动态调整 binlog 记录格式,减少从库重放时的数据扫描行数。该优化直接降低备库应用日志的计算和 IO 成本,提升复制回放效率,尤其在批量更新场景下效果明显。

相关推荐
jiunian_cn12 小时前
【Redis】zset数据类型相关指令
数据库·redis·缓存
betazhou13 小时前
MySQL相关性能查询语句
android·数据库·mysql
jiunian_cn13 小时前
【Redis】set数据类型相关指令
数据库·redis·缓存
松涛和鸣13 小时前
DAY69 Practical Guide to Linux Character Device Drivers
linux·服务器·arm开发·数据库·单片机·嵌入式硬件
咩咩不吃草13 小时前
Linux环境下MySQL的安装与使用与Navicat
linux·运维·数据库·mysql·navicat
Aloudata13 小时前
NoETL 指标平台如何保障亿级明细查询的秒级响应?——Aloudata CAN 性能压测深度解析
数据库·数据分析·自动化·指标平台
maoku6613 小时前
从关键词到语义:向量数据库如何让AI真正理解你的需求
数据库·人工智能
寻道码路13 小时前
【MCP探索实践】Google GenAI Toolbox:Google开源的企业级AI数据库中间件、5分钟搞定LLM-SQL安全互联
数据库·人工智能·sql·开源·aigc
数据知道13 小时前
PostgreSQL 核心原理:一文掌握 WAL 缓冲区与刷盘策略(性能与数据安全的权衡)
数据库·postgresql
三个人工作室13 小时前
mysql允许所有ip地址访问,mysql允许该用户访问自己的数据库【伸手党福利】
数据库·tcp/ip·mysql