最新公告
  • 欢迎您光临AA分享网,一个高级程序员的学习、分享的分享平台!立即加入我们
  • MySQL数据库延迟问题有哪些?原因是什么?

    在众多数据库中,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数据库的信息,请继续关注。

    AA分享网一个高级程序员的学习、分享的IT资源分享平台
    AA分享网-企业网站源码-PHP源码-网站模板-视频教程-IT技术教程 » MySQL数据库延迟问题有哪些?原因是什么?
    • 277会员总数(位)
    • 6130资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 784稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情