Loading

log file sync导致gc相关等待

1.问题发生时间和处理过程
问题发生时间点:
2022年10月26日 12:00 ~ 2022年10月26日 12:30
问题故障处理过程:
2022年10月26日 12:00 ~ 2022年10月26日 12:30,业务侧反馈应用性能出现波动,登陆数据库查看数据库状态,发现数据库存在大量gc等待事件,观察一段时间后业务稳定。
 
2.问题故障分析过程
1.通过数据库查看对应时间点相关等待事件,这里发现gc等待和log file sync等待事件较多
2.查看对应时间点gc相关的阻塞
3.查看blocking_session为23976会话对应的等待事件,发现gc buffer busy acquire被gc current block busy阻塞,其实这里的gc buffer busy acquire事件就是排在gc current block busy队列上的一个等
4.再次查看gc current block busy阻塞blocking_session为16897对应的等待事件,这里发现阻塞是log file parallel write,log日志写等待,且它已经没有了相应的等待,这里我认为可能就是节点1的IO出现了波动导致的。但是询问相关存储工程师表示存储未发现性能波动,这里我持怀疑态度进一步对数据库相关信息进行分析。
5.查看log file sync对应时间的延迟,这里我发现对应的延迟,有些超过1s,这显然是不正常的
6.针对awr报告进行分析
#对比两个节点的TOP10分析,其实也能判断gc等待是因为节点1的log file sync导致的。
节点2相关top10 event
节点1相关top10 event
7.查看节点间的gc相关信息,从如下信息中,可以得到的信息是节点2,在等待接收节点1的相关gc信息,但是节点1的gc信息慢在了刷新日志上。
节点1
 
节点2
 
8.这里通过后台等待事件进一步验证了我的判断,性能波动的原因就是因为节点1写日志出现了性能的波动导致的。
 

作者:hanglinux

出处:https://www.cnblogs.com/hanglinux/p/16844372.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   李行行  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-10-31 大页未使用
2019-10-31 MySQL 5.7 三种免密码登录
2019-10-31 redhat7.6 搭建ftp yum服务器
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题