【标题】主备延迟故障分析方法

【问题分类】故障分析

【关键字】Yashandb、主备延迟

【问题描述】当数据库备机出现回放延迟时,需要通过一些手段分析延迟的原因。通过数据库的系统视图或操作系统监控数据可以辅助分析回放延迟的瓶颈。

【问题原因分析】

备延迟手段

当前备库的复制情况





Note:

{rst}{asn}{blockid}

rst:为reset id,每次failover后,数据库新产生的redo文件的reset id会加1。

asn: 归档序列号,archive sequence number,每产生一个redo,ASN会加1,每个redo的ASN不相同。

blockid:redo文件内页面所在ID,页面的偏移量为 block id*block size。

lfn:log flush number,日志序列号,每次redo刷盘,LFN加1。

备机回放进度视图





数据库从MOUNT到OPEN阶段,统计的是重启回放信息,视图中Redo Remain项随着回放会减小。主机OPEN后,视图项不再变化。但是备机OPEN后,可能会重置视图内容,并且Redo Remain项和Remain Time项表示当前剩余日志对应的大小和回放时间。

检查redo的落盘速度



其他辅助分析视图介绍

检查磁盘的IO性能

输出信息说明

Device :磁盘名

rrqm/s :每秒进行的 merge 读数目

wrqm/s :每秒进行的 merge 写数目

r/s :每秒读 I/O 次数

w/s :每秒写 I/O 次数

rkB/s :每秒读设备的字节数(单位:K字节)

wkB/s :每秒写设备的字节数(单位:K字节)

avgrq-sz:平均每次设备I/O操作的数据大小

avgqu-sz:平均I/O队列长度

r_await :每个读操作的平均所需时间(包含列队等待时间)

w_await :每个写操作的平均所需时间(包含列队等待时间)

await :平均每次设备 IO 操作的等待时间(平均响应时间不超过5ms,单位:ms)

svctm :平均每次设备 IO 操作的服务时间(单位:ms)

%util :磁盘繁忙程度(注意:每块磁盘后面都有表示是否繁忙)

如果 svctm 与 await 比较接近,说明 IO 几乎没有等待。

如果 await 远高于 svctm ,说明 IO 队列太长 响应太慢,需要优化,可以从 avgqu-sz 队列长度看出来。

YCM监控主备延迟情况

V23.2.1.100 的ycm可以监控主备延迟,如下图

使用gstack查看线程状态

gstack yasdb进程 > gstack.txt

典型案例

问题单:生产数据迁移完毕后数据库延迟比较大

二线分析文章:《主备日志回放延迟高问题》

IO性能测试工具

【YashanDB知识库】主备延迟故障分析方法的更多相关文章

  1. dataguard主备延迟多长时间的查询方法

    select value from v$dataguard_stats where name='apply lag';    

  2. MySQL学习(三)主备分库分表和恢复数据 --- 2019年2月

    1.MySQL主备切换 readonly 设置对超级(super)权限是无效的,而用于同步更新的线程,就拥有超级权限. 建议在做主备数据库的时候,将备用数据库设置为只读.(反向用readonly来判断 ...

  3. PostgreSQL主备流复制机制

    原文出处 http://mysql.taobao.org/monthly/2015/10/04/ PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在 ...

  4. MySQL备份与主备配置

    MySQL备份与主备配置 数据备份类型 全量备份:备份整个数据库 增量备份:备份自上一次备份以来(增量或完全)以来变化的数据 差异备份:备份自上一次完全备份以来变化的数据 全量备份 全量备份的方法有 ...

  5. PgSQL · 特性分析 · PG主备流复制机制

    原文地址:http://mysql.taobao.org/monthly/2015/10/04/ PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在 ...

  6. MySQL高可用(二)主备延时如何解决?

    从上篇文章我们知道主备同步是依赖于 binlog,主库负责生产 binlog,备库负责消费 binlog,从而实现主备同步. 今天我们来学习一下主备同步里的一个重点的问题:主备延时. 主备延时,简单来 ...

  7. 基于zookeeper的主备切换方法

    继承CZookeeperHelper即可快速实现主备切换: https://github.com/eyjian/libmooon/blob/master/include/mooon/net/zooke ...

  8. mysql主备配置方法

    1. 选择两台机器(这里选的centos6.5 final),安装相同版本的mysql yum install mysql ; yum install mysql-server; 2. 启动mysql ...

  9. MySQL建立双向主备复制server配置方法

    1.环境描写叙述 serverA(主) 192.85.1.175 serverB(从) 192.85.1.176 Mysql版本号:5.1.61 系统版本号:System OS:ubuntu 10.1 ...

  10. KingbaseES R3 集群主备切换信号量(semctl)错误故障分析案例

    案例说明: 某项目KingbaseES R3 一主一备流复制集群在主备切换测试中出现故障,导致主备无法正常切换:由于bm要求,数据库相关日志无法从主机中获取,只能在现场进行分析:通过对比主备切换时的时 ...

随机推荐

  1. C#开发一个混合Windows服务和Windows窗体的程序

    很多时候,我们希望服务程序可以直接运行,或者可以响应一些参数,这时候,混合Windows服务和Windows窗体的程序就排上用场了.要实现同时支持Windows服务和Windows窗体,需要在启动的第 ...

  2. Unable to start web server; nested exception is org.springframework.context.ApplicationContextException

    项目报错:Unable to start web server; nested exception is org.springframework.context.ApplicationContextE ...

  3. mac idea 配置Tomcat

    官网下载Tomcat 下载地址:点我直达 配置Idea 设置Application Servers 操作步骤:Intellij IDEA->Preferences->Application ...

  4. 解读GaussDB(for MySQL)灵活多维的二级分区表策略

    本文分享自华为云社区<GaussDB(for MySQL)创新特性:灵活多维的二级分区表策略>,作者:GaussDB 数据库. 背景介绍 分区表及二级分区表的功能,可以让数据库更加有效地管 ...

  5. Bash 技巧

    Bash 使用技巧 Bash 是 GNU 项目的 Bourne Again SHell, 具有交互式命令行编辑.支持它的体系结构上的作业控制.类似 csh 的功能 Bash 是免费软件,根据 GNU ...

  6. Django model 层之聚合查询总结

    Django model 层之聚合查询总结 by:授客 QQ:1033553122 实践环境 Python版本:python-3.4.0.amd64 下载地址:https://www.python.o ...

  7. 彻底搞懂python super函数的作用

    super() 的入门使用 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了. 调用父类同名方法有两种方式: 1.调 ...

  8. MySQL 跨服务器关联查询

    如果您需要在 MySQL 中关联查询位于不同服务器的表(跨服务器关联查询),您可以考虑使用 MySQL 的联机查询(Federated MySQL).联机查询允许您在一个服务器上访问和查询另一个服务器 ...

  9. 我出一道面试题,看看你能拿 3k 还是 30k!

    大家好,我是程序员鱼皮.欢迎屏幕前的各位来到今天的模拟面试现场,接下来我会出一道经典的后端面试题,你只需要进行 4 个简单的选择,就能判断出来你的水平是新手(3k).初级(10k).中级(15k)还是 ...

  10. centos8配置网络环境及阿里云网络yum源

    一.centos8配置网络环境 1.修改配置网卡配置文件 [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens18 TYPE ...