当前位置:网站首页>Mysql主从延迟的原因和解决方案
Mysql主从延迟的原因和解决方案
2022-08-05 06:13:00 【棒棒吃不胖】
MySQL主从复制
首先说明一下,binlog记录的方式主要是两种(排除Mixed)
statement--SBR 基于操作的SQL语句
优点:并不需要记录每一条SQL语句和每一行数据的变化,减少了binlog日志量,,节约了I/O,提高了性能。
缺点:在某些情况下导致主备数据不一致。
row---RBR 基于行的变更情况(变化前后的数据记录)
优点:不记录每条SQL语句的上下文信息,只记录数据的详细修改细节,最为安全。
缺点:会产生大量日志,消耗磁盘空间。
MySQL的主从复制过程,可以参考下面的文章,此处省略。
主从延迟
t1时刻,主库执行完事务,并写入binlog
t2时刻,从库接收主库的binlog(IO线程),并写入中继日志
t3时刻,从库的SQL线程执行SQL语句,完成事务
主从延迟,就是从库执行完成到主库执行完成中间的时间差大于(t3-t1)
主从延迟的可能出现的原因与解决方案
1)主从服务器的硬件差异。从库机器性能差,无法及时同步主库数据,只需要更换新的设备或设备保持一致即可。
2)从库的读压力大。一般主库“写”,从库“读”。大量“读”请求命中从库,会大量消耗从库系统资源,进而影响从库的同步速度。此时可以构建一主多从架构,共同分担“读”请求的压力。
3)大事务。如果事务在主库执行15分钟,在从库同步也至少15分钟,造成主从延迟。如果可以,事务分批进行。
4)网络延迟。网络通信状况也会影响主从复制(影响从库的IO线程获取主库binlog),只能升级带宽,优化网络。
5)从库过多。从节点一般3-5个最佳。
边栏推荐
- scikit-image image processing notes
- 花花省V5淘宝客APP源码无加密社交电商自营商城系统带抖音接口
- 【C语言】结构体变量数据通过 void* 传入到函数中
- Promise (三) async/await
- Technical Analysis Mode (7) Playing the Gap
- 盒子模型小练习
- Kioxia and Aerospike Collaborate to Improve Database Application Performance
- UDP group (multi)cast
- typescript59-泛型工具类型(partial )
- UDP组(多)播
猜你喜欢
随机推荐
Jenkins详细配置
Pytorch distributed parallel processing
(四)旋转物体检测数据roLabelImg转DOTA格式
typescript67-索引查询类型
Unable to import torchvision. IO. Read_image
typescript59-泛型工具类型(partial )
在小程序中关于js数字精度丢失的解决办法
关于Antd的Affix突然不好用了,或者Window的scroll监听不好用了
Technical Analysis Patterns (11) How to Trade Head and Shoulders Patterns
盒子模型大详解
UDP group (multi)cast
Source code analysis of Nacos configuration service (full)
Redis
Email management Filter emails
(2022杭电多校六)1012-Loop(单调栈+思维)
document.querySelector() method
typescript65-映射类型(keyof)
【2022 DSCTF决赛wp】
【C语言】结构体变量数据通过 void* 传入到函数中
docker部署完mysql无法连接