某项目log file sync等待事件引起前台业务系统插入慢
在某个项目业务场景,需要从xml文件大量导入到数据库,此期间会因为log file sync,以及db file parallel write等待事件而hang住。
AWR如下:
前台等待事件log file sync占据了top 1位置,平均等待事件有699ms。
可以看到log file sync都是因为commit前台导致。
要写大量的redo和archive
导入期间,cpu没有达到瓶颈
oratop监控到后台会有大量的db file parallel write等待事件,需要写入数据文件
在导入期间的io情况如下:可以看到导入期间写的io能力已达到瓶颈
很明显的可以看到上述是因为日志写以及数据文件写达到了瓶颈所以前台等待事件会很慢,后台的数据文件写自然也会写的很慢。
后面尝试调优数据库日志以及数据文件写能力。
alter system set sga_target=150g scope=spfile;
alter system set pga_aggregate_target=60g scope=spfile;
alter system set "_max_outstanding_log_writes"=8 scope=spfile;
alter system set db_writer_processes=20 scope=spfile;
alter system set commit_logging=batch scope=both;
alter system set commit_wait=nowait;
最终结果:
log file sync等待事件负载有所降低,但是瓶颈还在存储io写的性能上,联系现场的人发现,在前一段时间磁盘存储调整过容灾配置,由单存储变成双存储,并且原先的external冗余级别,调整为了normal,在更换前导入没有性能问题。