• MySQL主从延迟如何解决?


    我们知道生产环境中经常会遇到MySQL主从延迟问题,从原理上也能看出主库的事务提交是并发模式,而从库只有一个SQL线程负责解析,所以本身上就可能存在延迟。

    延迟的主要原因在于:

    1、从库的配置往往没有主库的配置高
    2、主库支持并发写入,而5.7之前的版本上从库只有单线程SQL来完成任务。

    3、MySQL主从之间的同步,并不是完全的实时同步,而是主库提交事务之后,从库才再来执行一遍

    4、主库上的表的某个列没有索引,然后对这个列进行delete或update操作

    5、网络问题,往返时延RTT较大。

    解决方案如下:

    1、使用MySQL5.7版本,MySQL5.7版本后引入新的机制,即基于组提交的并行复制,设置参数slave_parallel_workers的值大于0,还有一个参数slave_parallel_type='LOGICAL_CLOCK'。

    。MySQL [fruit]> show variables like '%parallel%';
    +------------------------+----------+
    | Variable_name          | Value    |
    +------------------------+----------+
    | slave_parallel_type    | DATABASE |
    | slave_parallel_workers | 0        |
    +------------------------+----------+
    2 rows in set (0.00 sec)

    上面这个是没有修改的例子而已。仅仅是为了展示

    2、可以采用percona公司的PXC架构,实现多节点写入,达到时时同步

    3、在业务初期就选择合适的分库、分表策略,避免单表单库过大带来额外的复制压力。

    4、避免一些无用的I/O消耗,使用PCIE-SSD硬盘

    5、磁盘阵列选择RAID10架构,raid cache策略使用WB而非WT

    6、适当调整buffer pool的大小

    7、避免数据库进行各种大量的运算。

  • 相关阅读:
    P5737 【深基7.例3】闰年展示
    P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here
    P1597 语句解析
    P5735 【深基7.例1】距离函数
    P1553 数字反转(升级版)
    P1598 垂直柱状图
    P1603 斯诺登的密码
    P5738 【深基7.例4】歌唱比赛
    Ext.GridPanel 用法总结(一)—— Grid基本用法
    使用CodeSmith快速规范开发.Net软件
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/10215828.html
Copyright © 2020-2023  润新知