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写日志出现了性能的波动导致的。
 
posted @ 2022-10-31 15:13  李行行  阅读(133)  评论(0编辑  收藏  举报