X

一线数据库工程师的精彩案例分享、新特性介绍、诊断工具和诊断方法、以及常用的测试案例 -- 欢迎光临Oracle数据库中文技术支持官方微博

一个"间歇性物理IO缓慢"导致log file sync问题的案例

根据 Note 1626301.1 - 故障排除:"log file sync"等待 中提到的 "间歇性物理IO缓慢对 'log file sync' 等待事件的影响":
“如
果你发现系统的'log file sync'很高,但是'log file parallel
write'是处于正常的范围,那么这可能是由于间歇性物理IO缓慢导致的。你需要使用一些像OSWatcher一样的工具(参照 Document
301137.1)来确定是否系统中存在间歇性物理IO缓慢。”

日前我们就碰到了这么一例,这里给大家分享一下分析的过程。

问题的背景:
AIX平台,数据库版本11.2.0.4,数据库间歇性出现log file sync等待的问题。
分析过程:
检查了AWR report,发现当时的log file parallel write并不高。AWR中user commits/rollback也不高。

在发生问题时lgwr的日志中存在类似下面的提示

Warning: log write elapsed time 6000ms, size 2KB

客户之前已经把 _use_adaptive_log_file_sync 设置为 "FALSE",所以我们也排除了 adaptive log file sync 的影响。

我们倾向于认为这个问题是由于"间歇性物理IO缓慢"导致的;虽然log file parallel write不高,但是这个指标是一个小时的数据的平均值,它并不能排除短时间内IO出现性能的状况。

为了进一步定位这个问题,我们收取了iostat的日志,再仔细分析日志后发现,OS的IO性能当时确实出现异常。

在AIX平台下,iostat的输出中maxserv经常性的大于50毫秒,而这个maxserv代表的是磁盘提供服务的最大服务时间。这个时间大于20毫秒就值得我们警惕了。


再次跟客户确认后,我们发现,问题发生的时间点非常有规律,都是在一个特定的时间段内。而那个时间段也正是存储复制数据到另一个存储设备的时间段。

在停掉存储复制后,问题消失。

据此,我们定位到了问题就是由于"间歇性物理IO缓慢"导致的。

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.