一、描述

MySQL 5.7版本主从复制,批量时候显示延迟上万秒。

二、现象

1、io使用率高

#iostat -dxm 1 1000

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util

scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

vda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

vdb 0.00 96.00 0.00 2596.00 0.00 8.54 6.74 1.33 0.51 0.37 95.30

vdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

vdd 0.00 0.00 0.00 11.00 0.00 0.06 11.64 0.00 0.09 0.09 0.10

vde 0.00 0.00 0.00 7.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

vdf 0.00 0.00 0.00 511.00 0.00 0.00 0.00 0.05 0.09 0.09 4.60

vdg 0.00 0.00 0.00 511.00 0.00 0.00 0.00 0.05 0.09 0.09 4.80

dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

dm-2 0.00 0.00 0.00 34.00 0.00 0.23 13.65 0.02 0.59 0.38 1.30

dm-3 0.00 0.00 0.00 2144.00 0.00 8.38 8.00 1.40 0.65 0.45 97.20

dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

dm-5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

2、dm3是relay log 和binlog分区

$ ls -l /dev/mapper

total 0

lrwxrwxrwx 1 root root 7 Jul 23 23:20 backup-backup -> ../dm-0

crw-rw---- 1 root root 10, 58 Jul 23 23:20 control

lrwxrwxrwx 1 root root 7 Jul 23 23:20 VG00-lv_root -> ../dm-4

lrwxrwxrwx 1 root root 7 Jul 23 23:20 zxmysql-zxdba -> ../dm-1

lrwxrwxrwx 1 root root 7 Jul 23 23:20 zxmysql-zxlog -> ../dm-3

3、slave状态

mysql> show slave status \G;

*************************** 1. row ***************************

Slave_IO_State: Queueing master event to the relay log

略.........................................

Connect_Retry: 60

Master_Log_File: mysql-bin.011494

Read_Master_Log_Pos: 21037034

Relay_Log_File: relay-log.001904

Relay_Log_Pos: 3154097

Relay_Master_Log_File: mysql-bin.011494

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 3153884

Relay_Log_Space: 21037535

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 471

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 400011

Master_UUID: 0f8507ea-6da1-11e8-8646-005056873c4a

Master_Info_File: mysql.slave_master_info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Reading event from the relay log

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set: 0f8507ea-6da1-11e8-8646-005056873c4a:14137114-19288497

Executed_Gtid_Set: 0f8507ea-6da1-11e8-8646-005056873c4a:1-19288446

Auto_Position: 1

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.01 sec)

ERROR:

No query specified

三、分析

通过以上现象发现备库io使用率过高,超过90%。io过高的磁盘为日志盘,存放relay log和binlog。io thead一致在写relay log,调用fdatasync写磁盘。这里涉及到一个参数sync_relay_log,默认值为10000,查看当前系统参数值为1.

四、解决方案

优化io thread线程和sql thread线程。sync_relay_log使用默认值,使用mts优化sql thread。

stop slave;

set global slave_parallel_type=logical_clock;

set global slave_parallel_workers=8;

set global sync_master_info=10000;

set global sync_relay_log=10000;

set global sync_relay_log_info=10000;

start slave;

mysql syncrelaylog_MySQL 5.7复制延迟之sync_relay_log相关推荐

  1. 故障分析 | MySQL 异地从库复制延迟案例一则

    作者:任坤 现居珠海,先后担任专职 Oracle 和 MySQL DBA,现在主要负责 MySQL.mongoDB 和 Redis 维护工作. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授 ...

  2. mysql5.7延迟_[MySQL] 号称永久解决了复制延迟问题的并行复制,MySQL5.7-阿里云开发者社区...

    原文:[MySQL] 号称永久解决了复制延迟问题的并行复制,MySQL5.7 一.缘由: 某天看到主从复制延时的告警有点频繁,就想着是不是彻底可以解决一下. 一般主从复制,有三个线程参与,都是单线程: ...

  3. MySQL5.7号称永久解决了复制延迟问题的并行复制

    一.缘由: 某天看到主从复制延时的告警有点频繁,就想着是不是彻底可以解决一下. 一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) ----->IO Thread (从) - ...

  4. mysql seconds_behind_master_MySQL 复制延迟 Seconds_Behind_Master 究竟是如何计算的

    原标题:MySQL 复制延迟 Seconds_Behind_Master 究竟是如何计算的 导读: 作者:罗小波 参考链接 https://dev.mysql.com/doc/refman/5.7/e ...

  5. MySQL异步复制延迟解决的架构设计与运维架构ppt

    <MySQL异步复制延迟解决的架构设计与运维架构ppt> 下载地址:网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731216.html

  6. MySQL之 从复制延迟问题排查

    一.从库复制延迟问题 1.可能的原因如下 (1)主从服务器处于不同的网络之中,由于网络延迟导致: (2)主从服务器的硬件配置不同,从服务器的硬件配置(包括内存,CPU,网卡等)远低于主服务器: (3) ...

  7. mysql 复制延迟诊断_新特性解读 | MySQL 8 复制延迟观测新方式,更全面更精准

    转载自公众号:玩转MySQL,作者:洪斌 一直以来 MySQL 复制延迟观测是不完善的,既无法观测到真实的主从延迟,也无法支持复杂的复制拓扑环境,常用的 second_behind_master 指标 ...

  8. MySQL备库复制延迟的原因及解决办法

    背景 今天有同事问我主从复制延迟会影响高可用切换的 RTO 怎么办,这个不需要做实验,我可以直接回答,所以有了以下赶鸭子的文章,都是一线运维经验之谈,建议四连:点赞.收藏.转发.在看. 复制延迟的原因 ...

  9. MySQL 复制延迟 Seconds_Behind_Master 究竟是如何计算的

    导读: 作者:罗小波 参考链接 https://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html https://wemp.app/post ...

最新文章

  1. 请问大家如何看待Python?零基础如何学Python?
  2. [ZZ]知名互联网公司Python的16道经典面试题及答案
  3. Oracle Golden Gate 系列 小结
  4. MVC之Model转Json
  5. html需要电脑什么配置,配置一台电脑需要什么 选择配置一台好的台式电脑
  6. C++STL的 list容器
  7. SAP MM 采购订单收货被取消了还是不能增加新的delivery cost!
  8. 用正则实现多行文本合并,从而保存为csv文件
  9. 前端学习(1315):路由
  10. 锁失效_关于bigtable中chubby锁失效时的一点思考
  11. 爬取豆瓣电影Top 250封面
  12. R语言数据异常值处理
  13. 已有虚拟磁盘多个vmdk文件导入虚拟机
  14. 服务器如果清理垃圾文件,清理Windows服务器的垃圾文件的批处理
  15. 浙江大学计算机考研真题及答案,浙江大学计算机考研真题-20210531140358.docx-原创力文档...
  16. 告诉你苹果手机如何录屏的同时录音
  17. 修改登录页面Login
  18. matlab带下标的字母,matlab的特殊字符(上下标和希腊字母等)
  19. 筛法求素数(C语言/C++)
  20. 思博伦OpenFlow性能测试白皮书上篇

热门文章

  1. 连续与离散变量的函数分布计算
  2. MySql 建表出现的问题:[ERR] 1064 - You have an error in your SQL syntax; check the manual..........
  3. 有关排序的贪心策略的一种证明思想
  4. opencv源代码之中的一个:cvboost.cpp
  5. 纯css3实现瀑布流布局
  6. malloc_free_new_delete
  7. 我爆一个托 QQ305242038 电话 18782169971
  8. 胜利大逃亡[HDU1253]
  9. java B2B2C 仿淘宝电子商城系统-基于Rabbitmq实现延迟消息
  10. 开始学习Scheme