Mysql主从同步延迟问题及解决方案
主从同步出现的延迟问题原因及解决方案
对于主从正常执行,相应的延迟几乎是不存在的。但是在高QPS下,主从同步却出现了比较明显的延迟情况。
_________________________________________________________
问题一:主库的从库太多,导致复制延迟
从库数据以3-5个为宜,要复制的从节点数量过多,会导致复制延迟
问题二:从库硬件比主库差,导致复制延迟
查看Master和Slave的系统配置,可能会因为机器配置不当,包括磁盘I/O、CPU、内存等各方面因素造成复制的延迟。一般发生在高并发大数据量写入场景中
问题三:慢SQL语句过多
假如一条SQL语句执行时间是20秒,那么从执行完毕到从库上能查到数据至少需要20秒,这样就延迟20秒了。
一般要把SQL语句的优化作为常规工作不断地进行监控和优化,如果单个SQL的写入时间长,可以修改后分多次写入。通过查看慢查询日志或show full processlist命令,找出执行时间长的查询语句或大的事务
问题四:主从复制的设计问题
例如主从复制单线程,如果主库写并发太大,来不及传送到从库,就会导致延迟。更高版本的Mysql可以支持多线程复制,门户网站则会开发自己的多线程同步功能。
问题五:主从库之间的网络延迟
主从库的网卡、网线、交换机等网络设备都可能成为复制的瓶颈,导致复制延迟。另外,跨公网的主从复制很容易导致主从复制延迟
问题六:主库读写压力大,导致复制延迟
架构的前端要加buffer及缓存层
门户网站的解决方案:
优酷的解决方案:数据库分片技术,而抛弃了由于数据量的越来越多导致复制延迟的问题。按照user_id进行分片,这样必须有一个全局的表来管理用户与shard的关系,根据user_id可以得到share_id,然后根据share_id去指定的分片查询指定的数据
淘宝的解决方案:修改源码,对应的机制是Transfer机制,此处通过对Binlog日志重做采用多线程实现,从而提高slave的QPPS
转载于:https://blog.51cto.com/szk5043/1762981
Mysql主从同步延迟问题及解决方案相关推荐
- 深入解析Mysql 主从同步延迟原理及解决方案
深入解析Mysql 主从同步延迟原理及解决方案 参考文章: (1)深入解析Mysql 主从同步延迟原理及解决方案 (2)https://www.cnblogs.com/fengff/p/1101170 ...
- ntp同步 mysql_解析Mysql 主从同步延迟原理及解决方案
MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以 ...
- MySQL主从同步延迟原因与解决方案
一.MySQL数据库主从同步延迟产生的原因 MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高.Slave的SQL Thr ...
- MySQL 主从同步延迟的原因及解决办法
首页 博客 专栏·视频 下载 论坛 问答 代码 直播 能力认证 高校 会员中心 收藏 动态 消息 创作中心 MySQL 主从同步延迟的原因及解决办法 hao_yunfeng 2018-09-04 23 ...
- 使用MySQL Proxy解决MySQL主从同步延迟
MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方 面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的, ...
- mysql proxy 延迟严重_使用MySQL Proxy解决MySQL主从同步延迟
MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的,而 ...
- js 连mysql 延后_详解MySQL 主从同步延迟
mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...
- mysql主从同步延迟优化大全
mysql> create database fafa; Query OK, 1 row affected (0.01 sec) mysql> use fafa Database chan ...
- MySQL主从同步延迟
早上接到open-falcon报警,一台mysql从库同步延迟2w多秒,mysql版本比较老,用的5.1.37. 连接从库查找原因: show processlist一下,查看哪些线程在跑. 看到Ti ...
最新文章
- PCL:点云数据基于法线的边界提取(从最初的法线估计理论推导到最终的边界提取)
- python如何调用文件进行换位加密_Python换位密码
- day14 集合与函数
- CSS实现树形结构 + js加载数据
- c#中struct和class的区别
- Project 3 resources reassigned !!!
- 01-Quartz2D
- 输入输出知识点和问题超全总结(持续更新中)
- 群晖nas使用rsync备份
- 内蒙古自治区赤峰市谷歌高清卫星地图下载(百度网盘离线包下载)
- matlab解三角函数方程组,用matlab解三角函数方程组:y=A+Bx+Csin(Dx)+Esin(Fx)
- 梅科尔工作室-PR第三次培训笔记(效果与转场及插件使用)
- Qt涂鸦板及其放大简例
- Fruits类,简单水果价格系统----java
- HTML图片动画特效
- ubuntu拨号上网
- 秉火429笔记之十四 USART--串口通信
- Python通过类的组合模拟街道红绿灯
- [ESP32]学习笔记05
- dede织梦系统接入熊掌号推送api,完整详细教程
热门文章
- 10w行级别数据的Excel导入优化记录
- 我用Java+SeimiCrawler+Redis+ES+Kibana技术对数百万知乎用户进行了数据分析,得到了这些......
- 机器学习_周志华_问题汇总_第2周
- 被放养导致申博论文难产,该不该硬gang导师?
- 第一次,我们在人工神经网络中发现了「真」神经元
- 导师吐槽大会开始:自己招的学生,哭着也要带完
- 清华硕士眼中的2021届算法岗秋招
- 600页!分享珍藏很久的《推荐系统学习手册》(附链接)
- 年薪70W架构师:全套英语学习资源泄露,手慢则无!(禁止外传)
- 抢票神器成GitHub热榜第一,支持候补抢票,Python跑起来