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

【问题分类】故障分析

【关键字】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. WEB前端项目开发流程

    项目需求分析 这个环节是由项目经理完成,项目经理首先和客户进行交流,了解客户的需求,然后分析项目的可行性,如果项目可以被实现,项目经理写出项目需求文档交给设计师完成后续的开发. 页面设计 这个环节主要 ...

  2. 如何优雅地使用Mybatis逆向工程生成类

    文/朱季谦 1.环境:SpringBoot 2.在pom.xml文件里引入相关依赖: 1 <plugin> 2 <groupId>org.mybatis.generator&l ...

  3. 合合TextIn - 大模型加速器

    TextIn是合合信息旗下的智能文档处理平台,在智能文字识别领域深耕17年,致力于图像处理.模式识别.神经网络.深度学习.STR.NLP.知识图谱等人工智能领域研究.凭借行业领先的技术实力,为扫描全能 ...

  4. 基于MindSpore实现BERT对话情绪识别

    本文分享自华为云社区<[昇思25天学习打卡营打卡指南-第二十四天]基于 MindSpore 实现 BERT 对话情绪识别>,作者:JeffDing. 模型简介 BERT全称是来自变换器的双 ...

  5. SQL Server 截取字符串

    select top 100 substring(qr_code,8,8) ,* from [LiuJun_PKh_lcfc_hf] --where right(ri,8) or substring( ...

  6. java面试一日一题:1.6/7/8Java内存区域有什么不同吗

    问题:请讲下在JDK6 JDK7 JDK8中java内存区域有什么不同吗 分析:该问题主要考察对JVM运行时区域的了解,首先要了解最基本的内存区域划分,然后再去掌握其中的变化,再延申一点,为什么要这样 ...

  7. 【工具】SpringBoot项目如何查看某个maven依赖是否存在以及依赖链路

    当我在SpringBoot项目中想加个依赖,但是不确定现有依赖的依赖的依赖.....有没有添加过这个依赖,怎么办呢?如果添加过了但是不知道我需要的这个依赖属于哪个依赖的下面,怎么查呢? IDEA中提供 ...

  8. NIO操作文件读写

    第一章 第一节,Buffuer 案例一  从buffur 读出数据, 创建了一个 FileInputStream 对象,并通过调用 getChannel() 方法获取了与之关联的 FileChanne ...

  9. 安卓开发 StateListDrawable 应用

    基础部份     StateListDrawable 安卓开发中,如果要做一个按扭按下改变背景,或获取焦点改变背景,最简单的方法是利用将背景指向一个资源,然后果在资源中配置事件,总共分为三步, 1)  ...

  10. scratch源码下载 | 几何冲刺

    程序说明: <几何冲刺>是一款基于Scratch平台开发的跑酷类游戏程序.在这个游戏中,玩家控制一个黄色的小方块,在快速向前冲刺的过程中躲避各种障碍物.通过按下键盘上的上方向键,玩家可以操 ...