最新新闻,最快送达

MySQL数据库延迟问题有哪些?原因是什么?

  • 发布时间:2020-09-17
  • 来源:中培教育网

  在众多数据库中,MySQL书库是我们比较常见的数据库之一,也是我们应用比较多的数据库。当然经常使用MySQL数据的人都清楚,在使用MySQL数据库时,经常会出现一些延迟问题。那么MySQL数据库延迟问题有哪些?MySQL数据库延迟问题原因是什么?MySQL延迟问题有5个,下面是这个5个延迟问题出现的原因,以及相应的解决办法,希望可以帮到有需求的人。

  MySQL数据库延迟问题有哪些?原因是什么?

  1、主库DML请求频繁

  原因:主库并发写入数据,而从库为单线程应用日志,很容易造成relaylog堆积,产生延迟。

  解决思路:做sharding,打散写请求。考虑升级到MySQL 5.7+,开启基于逻辑时钟的并行复制。

  2、主库执行大事务

  原因:类似主库花费很长时间更新了一张大表,在主从库配置相近的情况下,从库也需要花几乎同样的时间更新这张大表,此时从库延迟开始堆积,后续的events无法更新。

  解决思路:拆分大事务,及时提交。

  3、主库对大表执行DDL语句

  原因:DDL未开始执行,被阻塞,检查到位点不变;DDL正在执行,单线程应用导致延迟增加,位点不变。

  解决思路:找到被阻塞DDL或是写操作的查询,干掉该查询,让DDL正常在从库上执行;业务低峰期执行,尽量使用支持Online DDL的高版本MySQL。

  4、主从实例配置不一致

  原因:硬件上:主库实例服务器使用SSD,而从库实例服务器使用普通SAS盘、cpu主频不一致等;配置上:如RAID卡写策略不一致,OS内核参数设置不一致,MySQL落盘策略(innodb_flush_log_at_trx_commit和sync_binlog等)不一致等

  解决思路:尽量统一DB机器的配置(包括硬件及选项参数);甚至对于某些OLAP业务,从库实例硬件配置高于主库等。

  5、从库自身压力过大

  原因:从库执行大量select请求,或业务大部分select请求被路由到从库实例上,甚至大量OLAP业务,或者从库正在备份等,此时可能造成cpu负载过高,io利用率过高等,导致SQL Thread应用过慢。

  解决思路:建立更多从库,打散读请求,降低现有从库实例的压力。

  也可以调整innodb_flush_log_at_trx_commit=0和sync_binlog=0刷盘参数来缓解IO压力来降低主从延迟。

  上述就是关于MySQL数据库延迟问题有哪些,以及MySQL数据库延迟问题原因是什么的全部内容介绍,想了解更多关于MySQL数据库的信息,请继续关注中培教育。

近期开班

phone
全国报名服务热线: 400-626-7377
合作伙伴
  • 国际APMG组织
  • 思科(Cisco)
  • 国际OPEN GROUP组织
  • 国家外专局培训中心
  • 上海银行
  • 中国石油管道局工程有限公司
  • 朗新科技
  • 中国国家博物馆
金牌客户
  • 中国石油天然气集团公司
  • 中国农业银行
  • 中国建设银行
  • 波司登集团
  • 浙江移动
合作机构
  • 美国项目管理协会
  • 人力资源和社会保障部
  • 中华人民共和国工业和信息化部
  • 中国计算机技术职业资格网
  • CITIF中国电子信息行业联合会
  • PEOPLECERT
微信公众号
公众号

微信号:zpitedu

  • 中培教育 Copyright © 2006-2020 北京中培伟业管理咨询有限公司 .All Rights Reserved
  • 京ICP备13024721号  gonganimg  京公网安备11010602007294号  增值电信业务经营许可证:京B2-20201348  全国统一报名专线:400-626-7377