六:linux之mysql57并行复制(提高延迟)

linux之mysql57并行复制(提高延迟)

1 查看当前参数

show global variables like 'slave_parallel_workers';    默认0,单线程

show global variables like'%slave_parallel_type%';     #默认是多线程机制是一个线程处理一个库


2 配置主服务器vim /etc/my.cnf

binlog_group_commit_sync_delay=1000 提交延迟

binlog_group_commit_sync_no_delay_count=100 每组包含的事务数量

3 配置从服务器vim /etc/my.cnf

slave_parallel_type=LOGICAL_CLOCK

slave_parallel_workers=8

slave_pending_jobs_size_max=2147483648

master_info_repository=TABLE

relay_log_info_repository=TABLE

relay_log_recovery=ON

relay_log_purge=ON

4 变量说明

#变量binlog_group_commit_sync_delay

全局动态变量,单位微妙,默认0,范围:0~1000000(1秒)。

表示binlog提交后等待延迟多少时间再同步到磁盘,默认0,不延迟。设置延迟可以让多个事务在用一时刻提交,提高binlog组提交的并发数和效率,提高slave的吞吐量。

#变量binlog_group_commit_sync_no_delay_count

全局动态变量,单位个数,默认0,范围:0~1000000。

表示等待延迟提交的最大事务数,如果上面参数的时间没到,但事务数到了,则直接同步到磁盘。若binlog_group_commit_sync_delay没有开启,则该参数也不会开启


#变量slave-parallel-type可以有两个值:DATABASE 默认值,基于库的并行复制方式;LOGICAL_CLOCK:基于组提交的并行复制方式

slave-parallel-type=LOGICAL_CLOCK

#提交的事务都是可以并行回放(配合binary log group commit);

slave-parallel-workers=8

slave_pending_jobs_size_max = 2147483648

slave_preserve_commit_order=ON

#将master.info和relay.info保存在表中,默认是Myisam引擎,官方建议用 

#开启MTS功能后,务必将参数master_info_repostitory设置为TABLE,这样性能可以有50%~80%的提升。这是因为并 行复制开启后对于元master.info这个文件的更新将会大幅提升

master_info_repository=TABLE

relay_log_info_repository=TABLE

#启用relaylog的自动修复功能,避免由于网络之类的外因造成日志损坏,主从停止。

relay_log_recovery=ON

relay_log_purge=ON

你可能感兴趣的:(六:linux之mysql57并行复制(提高延迟))