mysql存在主从延迟较高,该如何解决?
在日常开发中,有时出现mysql主从延迟较高的情况,现提供排查思路及解决方案,具体如下:1.检查从库数量,大部分公司采用一主多从的配置方案,但当从库数量过多时,可导致主从延迟过高,建议从库数量在2-3个左右为宜,最多不要超过5个。2.检查从库机器配置,硬件是否达到基本要求。3.检查是否存在慢SQL,优化SQL查询,在SQL优化层面,可根据执行计划进行SQL优化,检查索引命中情况。4.检查从库配置,
·
在日常开发中,有时出现mysql主从延迟较高的情况,现提供排查思路及解决方案,具体如下:
1.检查从库数量,大部分公司采用一主多从的配置方案,但当从库数量过多时,可导致主从延迟过高,建议从库数量在2-3个左右为宜,最多不要超过5个。
2.检查从库机器配置,硬件是否达到基本要求。
3.检查是否存在慢SQL,优化SQL查询,在SQL优化层面,可根据执行计划进行SQL优化,检查索引命中情况。
4.检查从库配置,将从库的sync_binlog设置为0或者关闭binlog,innodb_ flushlog, innodb flush_log_at trx_commit 设置为0从而提升从库复制效率。
5.每个表都要显式指定主键,避免在row模式下每次修改都要全部扫描。
6.减少mysql端处理业务,将IO相关活动移动只文件服务器,将多次读写请求合并。
7.引入缓存中间件,应用请求写库的同时向redis记录操作请求的key,同时设置key的失效时间为主从延时时间,或稍大于主从延时时间,应用读请求读库之前先判断缓存中的key,如果存在,请求读主库,否则,请求读从库。
更多推荐
已为社区贡献1条内容
所有评论(0)