seconds_behind_master监控复制延迟的不足及pt-heartbeat改进方法 
seconds_behind_master含义及不足

seconds_behind_master的值是通过将salve服务器当前的时间戳与二进制日志中的事件的时间戳相比得到的,所以只有执行事件时才会报告延迟。

1.1  如果备库复制线程没有运行,就会报延迟为null。

1.2  一些错误比如网络不稳定可能导致复制中断或停止复制线程,但是seconds_behind_master将显示为0,而不是显示错误

1.3  即使备库线程正在运行,备库有时候可能无法计算延时,如果发生这种情况,备库会报0或者null。

1.4  一个大事务可能会导致延迟波动,例如一个事务更新数据长达1个小时,最后提交。这条更新语句将比它实际发生时间要晚一个小时才记录到二进制日志中,当备库执行这          条语句时,会临时报告备库延迟1小时,然后又很快变为0。

详细请参考<高性能MySQL 复制章节>

pt-heartbeat原理

改进的做法就是使用percona toolkit工具包的pt-heartbeat,工作原理如下:

2.1  在master上创建一张heartbeat表,按照一定的时间频率更新该表的字段,主要就是向该表写入当前的时间戳

2.2  连接到slave上检查该表的时间记录,和运行pt-heartbeat的当前系统时间进行比较,得出时间的差异,这个时间差异就是复制延迟

注1:这里的2中的系统时间并不一定是slave的系统时间,如果pt-heartbeat的复制监控脚本运行在master上,那么当前系统时间就是master的当前系统时间,这时就不需要严格同步master服务器和slave服务器的时间一致了。 
注2:这里的创建的heartbeat表必须在复制同步下的库,有些教材都写了test库,但有时我们在复制配置中过滤了test库的复制,需要注意这一点

pt-heartbeat参数说明

pt-heartbeat用法格式如下,详细的用法可运行pt-heartbeat --help查看,最主要的几个参数介绍如下

Usage: pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop 
--update|--monitor|--check|--stop这四个参数必须选一个且仅选一个,--update表示每隔默认的秒数更新master库上heartbeat表的时间戳,--monitor表示每隔默认秒都监控延迟状况,--check表示只监控一次就退出,--stop表示停止更新时间戳的进程

--daemonize  后台执行 
--file 【--file=output.txt】 打印--monitor最新的记录到指定的文件,很好的防止满屏幕都是数据的烦恼。 
--frames 【--frames=1m,2m,3m】在--monitor里输出的[]里的记录段,默认是1m,5m,15m。可以指定1个,如:--frames=1s,多个用逗号隔开。 
--interval 检查、更新的间隔时间。默认是见是1s。最小的单位是0.01s,最大精度为小数点后两位,因此0.015将调整至0.02。 
--log 开启daemonized模式的所有日志将会被打印到制定的文件中。 
--monitor 持续监控从的延迟情况 
--master-server-id 指定主的server_id

--recurse 多级复制的检查深度。模式M-S-S...不是最后的一个从都需要开启log_slave_updates,这样才能检查到。

pt-heartbeat监控复制延迟及测试

典型的步骤如下

4.1 在master服务器上运行如下命令,这里的ip,user等信息均为master mysql的信息。 
      pt-heartbeat -D mydb --update -uroot -p 123456 -P 3306 -h 127.0.0.1 --create-table --daemonize

4.2  在master服务器上运行如下命令,这里的ip,user等信息均为slave mysql的信息,然后指定该master-server-id,

pt-heartbeat -D mydb --monitor -u y -p 123456 -P 3306 -h 10.0.11.244 --master-server-id 101

4.3  这时我们在master上插入大量数据,比如一个insert into select,可看到监控界面上延迟值越来越大最后又慢慢变小,具体测试代码略。

4.4  这时我们在slave上stop slave,观察复制延迟情况,可看到延迟越来越大

4.5  这时我们重新start slave,可观察到延迟再次变小

seconds_behind_master监控复制推延的不足及pt-heartbeat改进方法相关推荐

  1. SQLSERVER监控复制并使用数据库邮件功能发告警邮件

    原文:SQLSERVER监控复制并使用数据库邮件功能发告警邮件 SQLSERVER监控复制并使用数据库邮件功能发告警邮件 最近熬出病来了,都说IT行业伤不起,不说了,说回今天的正题 正题 上个月月底的 ...

  2. 服务器拷贝文件提示ms-dos功能无效,win7系统复制文件提示“MS-DOS功能无效”的解决方法...

    很多小伙伴都遇到过win7系统复制文件提示"MS-DOS功能无效"的困惑吧,一些朋友看过网上零散的win7系统复制文件提示"MS-DOS功能无效"的处理方法,并 ...

  3. 怎么看到方法内引用方法的注释_网页内文字无法复制怎么办?一分钟看懂这些方法,让你随意复制...

    网页内文字无法复制怎么办?一分钟看懂这些方法,让你随意复制 现在的生活中,无论你是一名上班族还是学生或者什么职业,遇到不会的问题,总是需要上网查资料,找到某些好用的资料,却因为某些原因需要付费才能复制 ...

  4. Java黑皮书课后题第7章:*7.12(倒置数组)7.7节中的reverse方法通过复制到新数组实现倒置。改写方法将参数中传递的数组倒置,并返回该数组。编写一个测试程序,输入10个数字,倒置它们并显示

    7.12(倒置数组)7.7节中的reverse方法通过复制到新数组实现倒置.改写方法将参数中传递的数组倒置,并返回该数组.编写一个测试程序,输入10个数字,倒置它们并显示 题目 题目描述 破题 代码 ...

  5. zabbix mysql设置中文乱码_解决zabbix监控因php问题导致图形界面中文乱码方法

    解决因编译php中添加了-enable-gd-jis-conv选项导致Zabbix监控系统图形界面中文乱码问题 现象: php编译参数: 说明: 如果PHP编译时启用–enable-gd-jis-co ...

  6. 服务器复制文件出现io错误,win7系统复制文件时发生IO错误的解决方法

    很多小伙伴都遇到过win7系统复制文件时发生IO错误的困惑吧,一些朋友看过网上零散的win7系统复制文件时发生IO错误的处理方法,并没有完完全全明白win7系统复制文件时发生IO错误是如何解决的,今天 ...

  7. 手机qq表白代码大全可复制_网页内文字无法复制怎么办?一分钟看懂这些方法,让你随意复制...

    现在的生活中,无论你是一名上班族还是学生或者什么职业,遇到不会的问题,总是需要上网查资料,找到某些好用的资料,却因为某些原因需要付费才能复制文字,那么面对网页内文字无法复制怎么办? 小酱就来教你如何免 ...

  8. windows强制复制不计算机,Win10复制粘贴功能用不了的修复方法

    win10正式版系统最常用的操作就是复制粘贴,有时候遇到复制粘贴功能用不了的情况,降低工作效率.即使重新启动电脑也没办法修复,到底怎么回事?其实我们可以通过注册表来修复的,感兴趣的小伙伴一起阅读教程来 ...

  9. 让Mac复制文件到U盘的两种方法

    2019独角兽企业重金招聘Python工程师标准>>> 让Mac复制文件到U盘的两种方法 一.让Mac支持ntfs格式磁盘 下载安装tuxera ntfs这款Mac读写软件,然后在系 ...

最新文章

  1. .net程序员面试题
  2. 纹理滤波(Texture Filter)
  3. Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务,集群部署,数据导出和恢复
  4. java 使用接口便于维护程序_Java初学——面向对象接口的应用
  5. scala初学之Tuple、Array、Map、文件操作入门实战
  6. 结构专业规范大全_一级注册结构工程师专业考试所使用的规范、标准、规程
  7. linux ibus中文,Ubuntu 14.10系统中IBUS 中文输入法安装的图文教程
  8. Python+OpenCV:图像二进制鲁棒独立基本特征(BRIEF, Binary Robust Independent Elementary Features)
  9. Delta RPMs disabled because /usr/bin/applydeltarpm not installed解决办法
  10. 进军NFT,第三代公链GGC与NFT3.0技术平台BOBO、OKEx NFT深度联合
  11. Python批量获取VOC测试集的类别
  12. 浅谈敏捷思想-08.从产品愿景到用户故事地图
  13. 参会指南丨CDEC 2019中国数字智能生态大会正确参会姿势
  14. 经纬度5位数和6位数差多少_各大在线地图,使用的经纬度坐标为什么都精确到小数点之后第六位...
  15. AQF量化投资金融分析师资源
  16. 17张思维导图,一网打尽机器学习统计基础(附下载)
  17. 金牛企业会员,到底是什么东西?
  18. Camtasia Studio2022简体中文安装激活教程
  19. 基因婴儿事未了!人类将在2031年开始实现永生?
  20. C语言项目实战:《拼图游戏》零基础项目

热门文章

  1. 深度学习总结:pytorch构建RNN和LSTM,对比原理图加深理解
  2. [PHP] 安装PHP报错“Primary script unknown”的解决方法
  3. 团队任务4-每日例会(2018-12-6)
  4. os.walk获取同级目录具有随机性
  5. 分割视图控制器(UISplitViewController)
  6. 实习技术员的基本功(四)
  7. yum安装时报错,提示/var/run/yum.pid 已被锁定,解决办法
  8. python缓存技术_Python中整数的缓存机制讲解
  9. 电脑销售渠道_为园区企业搭建服务麦格米特,长城电脑等企业产业链销售渠道...
  10. js 设置 table 第一个 tr_华胜天成参与起草中国主导的第一个云计算国际技术报告...