监控工具DPA发现海外一台Oracle数据库服务器DB Commit Time指标告警,超过红色告警线(40毫秒左右,黄色告警是10毫秒,红色告警线是20毫秒),如下截图所示,生成了对应的时段的AWR报告,发现Top 5 Timed Events里面,log file sync等待事件的平均等待时间为37毫秒,log file parallel write等待事件的平均等待时间为40毫秒

如果对Tanel Poder::Understanding LGWR, Log File Sync Waits and Commit Performance这篇文章所讲述的内容很熟悉的话(经典图如下),那么通过等待事件log file sync与log file parallel write的Avg Wait(ms)指标: 37ms & 40ms,基本上可以判断就是redo log所在的磁盘I/O出现了性能问题

然后在用lfsdiag.sql脚本分析一下详细的统计数据,如下所示:

HISTOGRAM DATA FOR LFS AND OTHER RELATED WAITS:

 

APPROACH: Look at the wait distribution for log file sync waits

by looking at "wait_time_milli". Look at the high wait times then

see if you can correlate those with other related wait events.

 

   INST_ID EVENT                                    WAIT_TIME_MILLI WAIT_COUNT

---------- ---------------------------------------- --------------- ----------

         1 log file sync                                          1       4363

         1 log file sync                                          2        835

         1 log file sync                                          4       1650

         1 log file sync                                          8       4937

         1 log file sync                                         16     146252

         1 log file sync                                         32     606674

         1 log file sync                                         64     263377

         1 log file sync                                        128     253254

         1 log file sync                                        256          2

         1 log file switch completion                             1        124

         1 log file switch completion                             2          9

         1 log file switch completion                             4         19

         1 log file switch completion                             8         21

         1 log file switch completion                            16         35

         1 log file switch completion                            32         97

         1 log file switch completion                            64        133

         1 log file switch completion                           128        326

         1 log file switch completion                           256       1736

         1 log file switch completion                           512       3042

         1 log file switch completion                          1024       2020

         1 log file parallel write                                1          0

         1 log file parallel write                                2          0

         1 log file parallel write                                4         80

         1 log file parallel write                                8       2142

         1 log file parallel write                               16     170987

         1 log file parallel write                               32     779205

         1 log file parallel write                               64     311463

         1 log file parallel write                              128      79688

         1 log file parallel write                              256      42763

         1 log file parallel write                              512      13052

         1 log file parallel write                             1024      20468

         1 log file parallel write                             2048      14020

         1 log file parallel write                             4096        921

         1 log file parallel write                             8192         96

         1 log file parallel write                            16384         18

         1 log file parallel write                            32768         18

         1 log file parallel write                            65536          8

         1 log file parallel write                           131072          2

         1 LGWR wait for redo copy                                1       8516

         1 LGWR wait for redo copy                                2         20

         1 LGWR wait for redo copy                                4         19

         1 LGWR wait for redo copy                                8         20

         1 LGWR wait for redo copy                               16         11

 

ORDERED BY WAIT_TIME_MILLI

 

   INST_ID EVENT                                    WAIT_TIME_MILLI WAIT_COUNT

---------- ---------------------------------------- --------------- ----------

         1 log file sync                                          1       4363

         1 log file switch completion                             1        124

         1 log file parallel write                                1          0

         1 LGWR wait for redo copy                                1       8516

         1 log file sync                                          2        835

         1 log file switch completion                             2          9

         1 log file parallel write                                2          0

         1 LGWR wait for redo copy                                2         20

         1 log file sync                                          4       1650

         1 log file switch completion                             4         19

         1 log file parallel write                                4         80

         1 LGWR wait for redo copy                                4         19

         1 log file sync                                          8       4937

         1 log file switch completion                             8         21

         1 log file parallel write                                8       2142

         1 LGWR wait for redo copy                                8         20

         1 log file sync                                         16     146252

         1 log file switch completion                            16         35

         1 log file parallel write                               16     170987

         1 LGWR wait for redo copy                               16         11

         1 log file sync                                         32     606674

         1 log file switch completion                            32         97

         1 log file parallel write                               32     779205

         1 log file sync                                         64     263377

         1 log file switch completion                            64        133

         1 log file parallel write                               64     311463

         1 log file sync                                        128     253254

         1 log file switch completion                           128        326

         1 log file parallel write                              128      79688

         1 log file sync                                        256          2

         1 log file switch completion                           256       1736

         1 log file parallel write                              256      42763

         1 log file switch completion                           512       3042

         1 log file parallel write                              512      13052

         1 log file switch completion                          1024       2020

         1 log file parallel write                             1024      20468

         1 log file parallel write                             2048      14020

         1 log file parallel write                             4096        921

         1 log file parallel write                             8192         96

         1 log file parallel write                            16384         18

         1 log file parallel write                            32768         18

         1 log file parallel write                            65536          8

         1 log file parallel write                           131072          2

 

REDO WRITE STATS

 

"redo write time" in centiseconds (100 per second)

11.1: "redo write broadcast ack time" in centiseconds (100 per second)

11.2: "redo write broadcast ack time" in microseconds (1000 per millisecond)

 

VERSION              INST_ID NAME                                                     VALUE        MILLISECONDS

----------------- ---------- ---------------------------------------- --------------------- -------------------

10.2.0.5.0                 1 redo write time                                        9551524        95515240.000

10.2.0.5.0                 1 redo writer latching time                                   51

10.2.0.5.0                 1 redo writes                                            1434931

 

AWR WORST AVG LOG FILE SYNC SNAPS:

上面数据可以看到,log file sync等待事件数量最多的是32ms这个区间的,log file parallel write等待事件发生最多的也是32ms这个区间的,其实这个值已经远远超过7ms,极其不正常。log file parallel write 事件是LGWR进程专属的等待事件,发生在LGWR将log_buffer中的重做日志信息写入联机重做日志文件组的成员文件,LGWR在该事件上等待该写入过程的完成。该事件等待时间过长,说明日志文件所在磁盘缓慢或存在争用。log file sync和log file parallel write是相互关联的。换句话讲,假设log file parallel write的时间非常长,那么必定导致log file sync等待时间拉长。如果log file parallel write 等待非常高,那么可能一般是物理磁盘I/O的问题

另外,我们也检查了一下redo log的切换频率,如下所示,redolog_sitch_time.sql查看发现redo log切换的次数并不频繁,生成的归档日志的量也并不大。大部分时候一小时切换零次或一次。

然后我们找了一台机器(上述指标正常的服务器)简单对测试了一下IO的速度,这个方法极其简单,就是看看生成一个大文件需要多长时间,简单测试一下I/O性能(没有考虑cache等,测试采样也不详尽),但是对比数据也基本能验证、反馈磁盘IO存在问题)。

问题服务器:

# time dd if=/dev/zero of=./test bs=512k count=2048 oflag=direct

2048+0 records in

2048+0 records out

1073741824 bytes (1.1 GB) copied, 88.271 seconds, 12.2 MB/s

real    1m28.273s

user    0m0.010s

sys     0m0.655s

对比服务器(正常的服务器):

# time dd if=/dev/zero of=./test bs=512k count=2048 oflag=direct

2048+0 records in

2048+0 records out

1073741824 bytes (1.1 GB) copied, 2.48344 seconds, 432 MB/s

real    0m2.485s

user    0m0.004s

sys     0m0.386s

如上对比所示,两台服务器生成同样一个大小文件,耗费的时间,I/O性能差别非常大,完全验证了告警的服务器所在的存储I/O存在性能问题,但是公司分工非常明确,DBA也不清楚底层存储出了什么问题,只能将这个问题反馈出来,等待海外负责维护系统和存储的同事的回复。

log file sync等待超高案例浅析的更多相关文章

  1. log file sync等待超高一例

    这是3月份某客户的情况,原因是server硬件故障后进行更换之后,业务翻译偶尔出现提交缓慢的情况.我们先来看下awr的情况. 我们能够看到,该系统的load profile信息事实上并不高,每秒才21 ...

  2. 完全揭秘log file sync等待事件-转自itpub

    原贴地址:http://www.itpub.net/thread-1777234-1-1.html   谢谢 guoyJoe 老大 这里先引用一下tanel poder大师的图: 什么是log fil ...

  3. Oracle数据库由dataguard备库引起的log file sync等待

    导读: 最近数据库经常出现会话阻塞的报警,过一会又会自动消失,昨天晚上恰好发生了一次,于是赶紧进行了查看,不看不知道,一看吓一跳,发现是由dataguard引起的log file sync等待.我们知 ...

  4. RAC 性能分析 - 'log file sync' 等待事件

    简介 本文主要讨论 RAC 数据库中的'log file sync' 等待事件.RAC 数据库中的'log file sync' 等待事件要比单机数据库中的'log file sync' 等待事件复杂 ...

  5. oracle之 等待事件LOG FILE SYNC (awr)优化

    log file sycn是ORACLE里最普遍的等待事件之一,一般log file sycn的等待时间都非常短 1-5ms,不会有什么问题,但是一旦出问题,往往都比较难解决.什么时候会产生log f ...

  6. Oracle之 等待事件log file sync + log file parallel write (awr优化)

    这是3月份某客户的情况,原因是server硬件故障后进行更换之后,业务翻译偶尔出现提交缓慢的情况.我们先来看下awr的情况. 我们能够看到,该系统的load profile信息事实上并不高,每秒才21 ...

  7. log file sync 因为数据线有问题而造成高等侍的表现

    这是3月份某客户的情况,原因是服务器硬件故障后进行更换之后,业务翻译偶尔出现提交缓慢的情况.我们先来看下awr的情况. 我们可以看到,该系统的load profile信息其实并不高,每秒才21个tra ...

  8. 理解LGWR,Log File Sync Waits以及Commit的性能问题[转]

    理解LGWR,Log File Sync Waits以及Commit的性能问题 一.概要: 1.  Commit和log filesync的工作机制 2.  为什么log file wait太久 3. ...

  9. log file sync 等侍值高的一般通用解决办法

    log file sync等待时间发生在redo log从log buffer写入到log file期间. 下面对log file sync做个详细的解释. 何时发生日志写入: 1.commit或者r ...

随机推荐

  1. BZOJ 1191: [HNOI2006]超级英雄Hero(二分图匹配)

    1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6263  Solved: 2799[Submit][ ...

  2. vs2017/vs2019 去掉 单击aspx文件预览页面

    初次安装vs2017或者vs2019,新建的项目中,每次单击项目文件时,文件自动打开了 然后 打开 工具->选项->环境->选项卡和窗口->预览选项卡->勾掉" ...

  3. seaborn 数据可视化(一)连续型变量可视化

    一.综述 Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,图像也更加美观,本文基于seaborn官方API还有自己的一些理解.   1.1.样式控制: ...

  4. JsonClassGenerAtor 使用json字符串生成对象

    https://pan.baidu.com/s/1Mz1xB6L3blqrRiRAMuJpIg 链接

  5. 基于iCamera测试模拟摄像头-TVP5150模块小结

    基于iCamera测试模拟摄像头-TVP5150模块小结 首先先认识下模拟摄像头,相信大家都不陌生, CCD模拟摄像头 CMOS模拟摄像头 可以看到,ccd摄像头电路较复杂,接口少,而cmos摄像头, ...

  6. 模拟摄像头解码模块最新测试 TVP5150模块 FPGA+SDRAM+TVP5150+VGA 实现PAL AV输入 VGA视频输出

    模拟摄像头解码模块最新测试  TVP5150模块  FPGA+SDRAM+TVP5150+VGA  实现PAL AV输入 VGA视频输出 测试使用电视机顶盒的AV模拟信号输入,VGA显示器输出测试,效 ...

  7. jquery (对内容,元素,属性,class的操作)

    对内容的操作: 捕获:获得内容 text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML 标记)val() - 设置或返回表单字段的值. 设置:设置内容 ...

  8. 【ZooKeeper系列】2.用Java实现ZooKeeper API的调用

    温馨提示:在这里我再次提个小要求,希望大家能习惯看官方文档,文档虽然是英文但用词都比较简单,基本都能看懂文档表达的意思.授之以鱼不如授之以渔的道理相信大家都明白,也希望通过猿人谷的这个ZooKeepe ...

  9. Vue中router路由异步加载组件-优化性能

    何时使用异步加载组件 当首页app.js文件太大时,可以拆分组件异步加载,如果app.js文件很小时,不建议使用异步加载组件,因为异步加载组件时每次都要发送一个HTTP请求,这样的代价远比首页一次性加 ...

  10. centos7制作U盘启动盘

    一.准备相关软件 1.8G以上U盘 2.UltraISO虚拟光驱(试用版即可)最新版 下载地址:https://cn.ultraiso.net/xiazai.html  点击下载试用 3.CentOS ...