今天上午在排查主库的sync_binlog的时候,发现之前有几台tokudb的sync_binlog不为1,于是修改为1了。 

但是,过了片刻,发现主库的running thread 变高了,系统负载也变高。另外,从库出现了延迟告警。   排查了下发现就是因为上面我们把主库设置sync_binlog=1后导致的。  改回 sync_binlog=0 或者1000 后,各种延迟等告警都恢复了。

高负载下tokudb环境下sync_binlog 不同设置的影响_第1张图片高负载下tokudb环境下sync_binlog 不同设置的影响_第2张图片  高负载下tokudb环境下sync_binlog 不同设置的影响_第3张图片


结论: 

   高负载下, 主库sync_binlog=1 可能造成主库的binlog 不能及时推送到从库(反应在从库的show slave status\G上就是 second_behind_master一会儿为0 一会儿又变的很大)