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

【问题分类】故障分析

【关键字】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. wireshark查看https通讯

    前言 https在原有的http基础上增加了了一个TLS/SSL层,https的通讯过程是加密的,如果想用wireshark仔细分析TLS/SSL层,需要借助服务器证书公私钥或者用浏览器截取密钥: 接 ...

  2. 常回家看看之off_by_null(堆篇)

    上次介绍了堆里面的off_by_one,那么这个off_by_null和它有神马区别呢,哎,别看名字挺像,它俩无论是在栈里面还是堆里面都有很大区别的. off_by_one,这个我们知道可以通过溢出控 ...

  3. Redis学习篇

    Redis 能用来做什么? 01 缓存 Redis 的最常用的用例是缓存,以加快网络应用的速度.在这种用例中,Redis 将经常请求的数据存储在内存中.它允许网络服务器频繁访问的数据.这就减少了数据库 ...

  4. Simple WPF: WPF自定义一个可以定义步长的SpinBox

    最新内容优先发布于个人博客:小虎技术分享站,随后逐步搬运到博客园. 通过WPF的按钮.文本输入框实现了一个简单的SpinBox数字输入用户组件并可以通过数据绑定数值和步长.本文中介绍了通过Xaml代码 ...

  5. ASP.NET Core中创建中间件的几种方式

    前言 今天我们一起来盘点一下在ASP.NET Core应用程序中添加和创建中间件常见的四种方式. 中间件介绍 ASP.NET Core中间件(Middleware)是用于处理HTTP请求和响应的组件, ...

  6. [oeasy]python0080_设置RGB颜色_24bit_24位真彩色_颜色设置

    RGB颜色 回忆上次内容 上次 首先了解了 索引颜色 \33[38;5;XXXm 设置 前景为索引色 \33[48;5;XXXm 设置 背景为索引色 RGB每种颜色 可选0-5 总共 6 级 想用 精 ...

  7. AT_abc218_d 题解

    洛谷链接&Atcoder 本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读. 题目简述 给定一个平面内的 \(N\) 个点的坐标,求这 \(N\) 个点中选 \(4\) 个点可构成 ...

  8. wails实现腾讯元器bot

    简单记录工具的一个模块 后端 Api调用 登录 腾讯元器 后创建智能体,按自己的需求来创建,发布后要等等审核. ​​ 等发布完成后点击调用api即可,这里可以看到user_id​, assistant ...

  9. 题解:P10732 [NOISG2019 Prelim] Palindromic FizzBuzz

    题解:P10732 [NOISG2019 Prelim] Palindromic FizzBuzz 题意 题意十分明了,给予你一个区间,判断区间中每一个数是否是回文数. 思路 思路比较简单,首先将每一 ...

  10. ffmpeg中声音解码的流程

    声音解码流程: audio初始化 fifo初始化frame初始化init_resampler 解码: 如果有帧 初始化转码空间 做转码操作 resampler 放入fifo fifo是否大于 一帧数据 ...