zoukankan      html  css  js  c++  java
  • 减少mysql主从数据同步延迟

    网上给出的解决办法:

    基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了。如果延迟比较大,就先确认以下几个因素:
    1. 网络延迟
    2. master负载
    3. slave负载
    一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器,只作为备份用,不进行其他任何操作,就能相对最大限度地达到'实时'的要求了

    另外,再介绍2个可以减少延迟的参数

      --slave-net-timeout=seconds
      参数含义:当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据
    {code}
     slave_net_timeout单位为秒 默认设置为 3600秒 
    | slave_net_timeout               | 3600  
    {code}
      --master-connect-retry=seconds
    参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试。
    {code}
       master-connect-retry单位为秒 默认设置为 60秒
    {code}

    通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟

    一般网络问题的错误是:
    {code}
    070401 16:16:55 [ERROR] Error reading packet from server: Lost connection to MySQL server during query (server_errno=2013)
    070401 16:16:55 [ERROR] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'mysql_master-bin.000134' position 115817861
    {code}

  • 相关阅读:
    反射泛型方法
    Redis令牌桶限流
    laravel中间件的使用
    Laravel-权限系统
    Laravel 即时应用的一种实现方式
    laravel实现多模块
    laravel5+ElasticSearch+go-mysql-elasticsearch MySQL数据实时导入(mac)
    swoole视频直播
    开发SSO单点登录需要注意的问题
    进程、线程、协程三者之间的联系与区别
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/3718910.html
Copyright © 2011-2022 走看看