1.主库写入二进制日志的时间
解决方法:
控制主库的事务大小,分割大事务为多个小事务
例如10万行的update,修改成5000行提交一次
2.二进制日志传输时间
解决方法:
使用MIXED日志格式
或设置set binlog_row_image=mimimal的方式来减小二进制日志量的大小
3.默认情况下从服务器只有一个SQL线程,主服务器上并发的修改在从服务器上变成了串行
解决方法:
使用多线程复制
在MySQL5.7中可以按照逻辑时钟的方式来分配SQL线程
如何配置多线程复制
stop slave;
set global slave_parallel_type='logical_clock'; (默认值database)
set global slave_parallel_workes=4; (设置复制线程的数量,默认值是0)
start slave;
解决方法:
控制主库的事务大小,分割大事务为多个小事务
例如10万行的update,修改成5000行提交一次
2.二进制日志传输时间
解决方法:
使用MIXED日志格式
或设置set binlog_row_image=mimimal的方式来减小二进制日志量的大小
3.默认情况下从服务器只有一个SQL线程,主服务器上并发的修改在从服务器上变成了串行
解决方法:
使用多线程复制
在MySQL5.7中可以按照逻辑时钟的方式来分配SQL线程
如何配置多线程复制
stop slave;
set global slave_parallel_type='logical_clock'; (默认值database)
set global slave_parallel_workes=4; (设置复制线程的数量,默认值是0)
start slave;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2125873/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-2125873/
本文针对MySQL主从复制过程中常见的性能瓶颈提供了优化方案,包括控制主库事务大小、使用混合日志格式及多线程复制等策略。
4449

被折叠的 条评论
为什么被折叠?



