1、主从复制架构下主库与从库出现延迟的原因
1、dump_thread度binlog与主库写binlog是串行的操作 5.7+dump_thread读写binlog是并行操作的
2、sql_thread回放线程只有一个 并行复制解决
3、主从所在的主机硬件性能有差异
4、主库有大事务 尽量避免大事务
2、并行复制设置
修改主库group_commit
查询命令 show variables like '%group_commit%';
设置 binlog_group_commit_sync_delay=100
设置 binlog_group_commit_sync_no_delay_count=20
修改从库
查询命令 show variables like '%parallel%';
slave_parallel_type=logical_clock
slave_parallel_workers=4
查询命令 show variables like '%transaction_dependency%';
transaction_write_set_extraction=XXHASH64
binlog_transaction_dependency_tracking=writeset
查询命令 show variables like '%commit_order%';
slave_preserve_commit_order=1
3、查看是否开启并行复制
use performance_schema;
select * from replication_applier_status_by_worker \G;