楼主: whwlm

[精华] log file sync事件

[复制链接]
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
21#
发表于 2003-4-25 14:50 | 只看该作者
写log的是需要时间的啊,你这么大日志才写的话就引起等待了啊

使用道具 举报

回复
论坛徽章:
8
授权会员
日期:2005-10-30 17:05:33奥运会纪念徽章:跳水
日期:2008-05-26 09:14:52奥运会纪念徽章:曲棍球
日期:2008-06-13 13:35:53奥运会纪念徽章:铁人三项
日期:2008-08-28 09:18:09生肖徽章2007版:马
日期:2009-09-08 11:21:202010年世界杯参赛球队:塞尔维亚
日期:2010-03-11 19:05:042011新春纪念徽章
日期:2011-02-18 11:43:33迷宫蛋
日期:2013-01-15 09:40:02
22#
 楼主| 发表于 2003-4-25 14:59 | 只看该作者
最初由 coolyl 发布
[B]写log的是需要时间的啊,你这么大日志才写的话就引起等待了啊 [/B]

1、如果IO的量一样,分多次写应该更耗资源
2、实际上系统每秒钟有10-20个事务,应该不会等到1/3才写盘

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
23#
发表于 2003-4-25 15:11 | 只看该作者

log buffer 太多只是在某个情况下可能导致问题:

假设暂时lgwr空闲,这时一个较大事务来了
然后当达到1/3  buffer 的时候写磁盘,但这个时候紧接着来了5个小 事务提交
这5个小事务就必须都等待较长时间才能获得lgwr写日志

但是如果较大事务已经在比较空闲的时候写了很大一部分,则可以减少等待时间

不能让lgwr太闲,但由于每次写日志次数过多是有一定代价的,所以一次写日志内容不能太大,但写日志也不能太频繁

通常结合 commit 频繁程度、磁盘分布  结合调整

使用道具 举报

回复
论坛徽章:
65
ITPUB元老
日期:2006-03-01 17:57:36马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:52
24#
发表于 2003-4-25 15:13 | 只看该作者
如果一起写,io当然更拥挤,如果分成很多小块来写,更有利于均衡的io流
------------------
我觉得你最主要的问题还是io,调整io最好了

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-04-12 14:16:19授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
25#
发表于 2003-6-18 16:09 | 只看该作者
我的log file sync 也很大
因为log_buffer很大
但缩小log_buffer就引起大量的allocation retries
为什么会有这么多的allocation retries?有哪些可能性?
谢谢

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:08:27
26#
发表于 2003-6-18 16:51 | 只看该作者
根据文档ALLOCATION RETRY等待事件是当REDO ENTRY从PGA拷贝到LOG BUFFER时系统等待BUFFER空间的事件,这证明系统产生REDO速度超过REDO BUFFER消耗速度,影响因素为BUFFER不够大,或者BUFFER写入LOG FILE 不够快。若增大BUFER又引起REDO LOG SYNC等待事件,也许调整I/O性能才是关键。如将REDO LOG FILE放到单独的磁盘上,采用RAID0+1等。
有时候真的很困惑,不读文档不明白,读了文档更糊涂,ORACLE丫是不是整个一下套,搞出这么读文档象TMD****功,让人走火入魔。整个一歪理邪说。
也许那一天系统能自动判断出问题所在并给出调整办法。而不是给出一大堆EVENT WAIT,STATISTICS砸晕兄弟们,就象偶去看病,丫破医生又是听音又是验血,然后告诉你染色体正常,血压多少,甘油三制多少,白血球多少,我肯定一声大喝,你丫有完没完,我就需要知道两件事,我什么病,怎么治,少在这积极外外。对于用户而言,不关心过程,只关心结果。想想现在的非典,嘿嘿,水货多啊。。。。。。。

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-04-12 14:16:19授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
27#
发表于 2003-6-18 17:04 | 只看该作者
谢谢!
颇有同感!

使用道具 举报

回复
论坛徽章:
2
ITPUB元老
日期:2005-02-28 12:57:00会员2006贡献徽章
日期:2006-04-17 13:46:34
28#
发表于 2003-6-18 17:09 | 只看该作者
爽,不过如果系统哪一天这么牛b 的话,我们就都失业了

使用道具 举报

回复
论坛徽章:
0
29#
发表于 2003-7-9 16:06 | 只看该作者
谢谢!

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2003-7-9 17:59 | 只看该作者
metalink 上的说法:
There are 3 main things you can do to help reduce waits on "log file sync":
Tune LGWR to get good throughput to disk . eg: Do not put redo logs on RAID 5.
If there are lots of short duration transactions see if it is possible to BATCH transactions together so there are fewer distinct COMMIT operations. Each commit has to have it confirmed that the relevant REDO is on disk. Although commits can be "piggybacked" by Oracle reducing the overall number of commits by batching transactions can have a very beneficial effect.
See if any activity can safely be done with NOLOGGING / UNRECOVERABLE options.

IO类的wait event应该看平均等待时间,单纯的数量好像不能说明问题。

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表