前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql 复制的延迟优化

Mysql 复制的延迟优化

作者头像
dys
发布2018-04-03 17:59:36
9380
发布2018-04-03 17:59:36
举报
文章被收录于专栏:性能与架构性能与架构

Mysql 复制过程中,数据延迟是很重要的问题,无法避免,只能尽量优化,使延时尽可能的小

要想优化复制过程,我们先看下复制的整个过程,看其中哪些步骤可以优化

这个过程中有3个主要的时间点

1. 主库写入二进制日志的时间

例如,有一个大的事务,假设要更新3万行数据,需要执行3分钟,那么只有等到全部更新完成,事务提交之后,才会被写入二进制日志

这就影响了binlog写入速度,可以分析一下,这个大的事务是否可以分成多个小事务,如果业务逻辑允许,可以一个事务更新3千行,分为10个事务,每个事务完成后就可以迅速复制到从库

这个过程中需要尽可能的加快写入速度,尽量小步快跑

2. 二进制日志的传输时间

图中的2、3步是日志传输过程,包括网络传输时间,和磁盘写入时间

一般主从服务器都在局域网内,网络不成问题,日志的写入方式是顺序写,所以,磁盘写操作也没问题

这个过程的主要优化思路就是尽量减少日志的传输量

需要分析一下数据库,看是不是所有库都需要进行复制,如果有不必要的库,可以通过参数 Binlog_Ignore_DB 进行忽略

3. 从服务器中SQL回放的时间

默认情况下只有一个SQL线程,串行执行日志的回放过程

Mysql 5.7 已经很好的支持了多线程复制,如果有可能,可以选择这个版本,然后设置好多线程复制,来加快回放速度

5.7 多线程复制的配置可以参考之前的一篇文章

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档