ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 3359|回复: 3

log 写入慢,一定是IO问题吗?

[复制链接]
论坛徽章:
1
优秀写手
日期:2013-12-18 09:29:13
发表于 2016-12-13 19:41 | 显示全部楼层 |阅读模式
隔了个周末,今天来,看到DB很慢,做了个AWR,看到的等待事件如下:
Event
Waits
Total Wait Time (sec)
Wait Avg(ms)
% DB time
Wait Class
DB CPU
37.1K
47.6
log file sync
49,166
8638.4
176
11.1
Commit
log file switch completion
433
7863.5
18161
10.1
Configuration
db file sequential read
6,606,820
4906.2
1
6.3
User I/O
SQL*Net message from dblink
60,840
3916.3
64
5.0
Network
db file scattered read
3,234,384
2328.9
1
3.0
User I/O
gc buffer busy acquire
67,339
2190.2
33
2.8
Cluster
gc cr block busy
16,010
1737.7
109
2.2
Cluster
direct path read
594,442
1690.9
3
2.2
User I/O
enq: TX - row lock contention
3,749
1413.8
377
1.8
Application




大眼一看,是log写入的问题,可之前没有这个问题呀,在grid中可以看到有很多configuration 和commit等待事件,系统在SSD上,db file sequential read为1ms,可是写入延迟却高达176ms,很明显不正常呀!
我登上再向下看:
Background Wait Events
  • ordered by wait time desc, waits desc (idle events last)
  • Only events with Total Wait Time (s) >= .001 are shown
  • %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Event
Waits
%Time -outs
Total Wait Time (s)
Avg wait (ms)
Waits /txn
% bg time
gcs log flush sync
283,787
17
2,508
9
3.14
26.40
LNS wait on SENDREQ
68,246
0
1,943
28
0.75
20.45
LGWR-LNS wait on channel
274,628
71
1,839
7
3.04
19.35
ARCH wait on SENDREQ
1,825
0
622
341
0.02
6.54
Streams AQ: qmn coordinator waiting for slave to start
26
100
141
5440
0.00
1.49
log file switch completion
7
0
135
19306
0.00
1.42
enq: CF - contention
1,022
83
132
129
0.01
1.39
log file parallel write
118,535
0
131
1
1.31
1.38


又看了一下归档,发现周末两天生和了大量的归档,DataGuard应用不过来了

LNS wait on SENDREQ、LGWR-LNS wait on channel、ARCH wait on SENDREQ 这不正常呀,怎么都和DataGuard有关呢?
我看一下这些都是个什么东西:
LNS wait on SENDREQ:Total time spent waiting for redo data to be written to all ASYNC and SYNC redo transport destinations
LGWR-LNS wait on channel:This wait event monitors the amount of time spent by the log writer (LGWR) process or the LNS processes waiting to receive messages.
我们再看看log_archive_dest_2的配置:log_archive_dest_2='SERVICE=cmshnjrdg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=proddg'
lgwr sync,还有坑爹的 MAXIMUM PERFORMANCE 配置,这些个概念大家可以去看文档


于是:我们把log_archive_dest_2='SERVICE=cmshnjrdg LGWR ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=cmshnjrdg'
lgwr async,NOAFFIRM,我们为了生产系统最大的性能考虑,让 MAXIMUM PERFORMANCE 配置不再坑爹
修改完成后,我们再:
alter system switch logfile;
系统飞速完成
观察系统性能,发现configuration 和commit等待事件消失,log file sync时间下降到了5ms,系统恢复正常
论坛徽章:
0
发表于 2016-12-16 11:51 | 显示全部楼层
楼主,这个log file switch completion感觉也挺高的呢,平均每次切换要19秒左右,好长,这个awr是多久间隔的呢,日志切换次数有433次,看看每次切换间隔有多久呢

使用道具 举报

回复
论坛徽章:
178
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:392014年新春福章
日期:2014-02-18 16:41:11马上有钱
日期:2014-11-12 09:33:24马上有房
日期:2014-11-07 08:46:05马上有钱
日期:2014-10-27 09:26:57马上有对象
日期:2014-10-28 10:28:08itpub13周年纪念徽章
日期:2014-10-10 10:38:25祖国65周年纪念徽章
日期:2014-10-09 12:04:31马上有钱
日期:2014-11-24 15:17:08
发表于 2016-12-30 10:50 | 显示全部楼层
这个就是这个连接的翻版
http://www.itpub.net/thread-2073857-1-1.html
--以后出现log file sync,出来考虑磁盘IO性能,还要考虑dg的传输参数.

--顺便问一下,lz你们的网络很慢吗,我一直认为内网这样的问题不用考虑,因为现在网络基本都是千兆(核心部分).
--顺便问一下你们dg做只渎查询吗?备份在dg上做吗?如果dg机器性能不好,是否也会出现这样的问题.

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2013-12-18 09:29:13
 楼主| 发表于 2017-1-17 11:17 | 显示全部楼层
lfree 发表于 2016-12-30 10:50
这个就是这个连接的翻版
http://www.itpub.net/thread-2073857-1-1.html
--以后出现log file sync,出来考 ...

发表于 2016-12-23 16:42
看看这个什么时候发的吧

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表