如何配置MySQL的slave_parallel_workers开启多线程并行复制破除延迟

胖萱酱_2496

胖萱酱_2496

2026-05-28

801人浏览

原创

必须同时设置slave_parallel_type=LOGICAL_CLOCK和slave_parallel_workers>0才生效,仅设workers无效;主库需binlog_format=ROW且建议启用GTID,否则并行复制无法稳定运行。

如何配置mysql的slave_parallel_workers开启多线程并行复制破除延迟

直接设置 slave_parallel_workers 大于 0 是开启多线程复制的必要动作,但不是充分条件。真正生效并稳定破除延迟,需要主从协同配置、事务特征适配和状态持续观察。

基础配置必须到位

仅改一个参数无法启动并行复制:

  • 从库必须设 slave_parallel_type = LOGICAL_CLOCK(MySQL 8.0 默认已满足,5.7 需显式执行 SET GLOBAL slave_parallel_type = 'LOGICAL_CLOCK')
  • 主库必须启用 binlog_format = ROW,否则逻辑时钟信息(last_committed/sequence_number)不会写入 binlog
  • 强烈建议主从都启用 GTID(gtid_mode = ON),避免位置偏移导致的并行中断;若不用 GTID,至少确保 relay_log_info_repository = TABLE 和 master_info_repository = TABLE
  • 动态设置立即生效:SET GLOBAL slave_parallel_workers = 8;;如需永久生效,加到 my.cnf 的 [mysqld] 段并重启

为什么设了却还是单线程回放?

MySQL 主动降级是常态,不是故障:

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • 同一组事务若 last_committed 值相同,才可并行;若主库因锁等待、大事务或无主键 UPDATE 导致组提交失败,所有事务会被压进同一个 group,从库只能串行回放
  • 典型诱因:批量 INSERT ... SELECT、CREATE TABLE AS SELECT、对无主键/唯一键表的并发 UPDATE
  • 验证是否真并行:SHOW PROCESSLIST 查看是否有多个 Slave_worker 线程;或查 performance_schema.replication_applier_status_by_worker 看各 worker 的 LAST_APPLIED_TRANSACTION 是否在推进

线程数不是越多越好

盲目调高反而加剧延迟:

  • 推荐值范围:4–12,优先参考从库 CPU 逻辑核数(如 8 核机器设为 8,16 核可试 12)
  • 纯 OLTP 小事务场景且 I/O 充足,可设为逻辑核数的 1–2 倍;若有定期大事务(如夜间导入、DDL),保守设为 4–6,避免 worker 频繁空等或争抢锁资源
  • 绝对不要设为 0(退化为单线程)或 1(仍启 coordinator 架构,但无实际并行收益)

配套优化不能少

光靠并行复制难治本,需结合主库行为调整:

  • 主库开启 binlog_group_commit_sync_delay(如 100000 微秒),人为“攒”事务进同一 group,提升从库可并行事务比例
  • 排查并修复从库上无主键、无索引表——这类表的每一行 UPDATE 都触发全表扫描,严重拖慢单个 worker,进而阻塞整个 pipeline
  • 监控 Seconds_Behind_Master 不降但 Retrieved_Gtid_Set 和 Executed_Gtid_Set 差距扩大,大概率是逻辑依赖卡住,此时应检查主库近期是否有大事务或 DDL

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

960

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3172

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1056

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

929

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

494

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2896

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5432

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

847

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 191人学习