2013-03-13等待事件PX Deq Credit: send blkd

  今天出现严重的等待事件PX Deq Credit: send blkd,与实施组沟通,系统并没有慢的情况。

Snap IdSnap TimeSessionsCursors/Session
Begin Snap:2152413-3月 -13 14:00:2436519.5
End Snap:2152813-3月 -13 18:00:1535720.6
Elapsed:239.84 (mins)
DB Time:1,465.76 (mins)

EventWaitsTime(s)Avg Wait(ms)% Total Call TimeWait Class
PX Deq Credit: send blkd26,26150,7471,93257.7Other
CPU time32,44436.9
SQL*Net more data to client357,623,2097,29608.3Network
db file sequential read362,8661,11931.3User I/O
log file sync56,15370513.8Commit

 

EventWaits%Time -outsTotal Wait Time (s)Avg wait (ms)Waits /txn
PX Deq Credit: send blkd8,6488915,55617990.15

Elapsed Time (s)

CPU Time (s)Executions Elap per Exec (s) % Total DB TimeSQL IdSQL ModuleSQL Text
50,7592057.724hj78qkyk67p0ORACLE.EXESELECT "ARCHIVES_ID", "CONTENT...

通过数据字典查到此表是有并行操作的。

SQL>select table_name,degree from user_tables where table_name='ARCHIVES_CONTENT';

TABLE_NAME                           DEGREE
------------------------------          --------------------
ARCHIVES_CONTENT                    4

        一般来说空闲等待可以忽略它,但是实际上空闲等待也是需要关注的,因为一个空闲的等待,它反映的是另外的资源已经超负荷运行了。基于这个原因,在Oracle 10g里已经把PX Deq Credit: send blkd等待时间不在视为空闲等待,而是列入了Others 等待事件范围。
        PX Deq Credit: send blkd 等待事件的意思是:当并行服务进程向并行协调进程QC(也可能是上一层的并行服务进程)发送消息时,同一时间只有一个并行服务进程可以向上层进程发送消息,这时候如果有其他的并行服务进程也要发送消息,就只能等待了。 知道获得一个发送消息的信用信息(Credit),这时候会触发这个等待事件,这个等待事件的超时时间为2秒钟。
       如果我们启动了太多的并行进程,实际上系统资源(CPU)或者QC 无法即时处理并行服务发送的数据,那么等待将不可避免。 对于这种情况,我们就需要降低并行处理的并行度。
       当出现PX Deq Credit:send blkd等待的时间很长时,我们可以通过平均等待时间来判断等待事件是不是下层的并行服务进程空闲造成的。该等待事件的超时时间是2秒,如果平均等待时间也差不多是2秒,就说明是下层的并行进程“无事所做”,处于空闲状态。 如果和2秒的差距很大,就说明不是下层并行服务超时导致的空闲等待,而是并行服务之间的竞争导致的,因为这个平均等待事件非常短,说明并行服务进程在很短时间的等待之后就可以获取资源来处理数据。
      所以对于非下层的并行进程造成的等待,解决的方法就是降低每个并行执行的并行度,比如对象(表,索引)上预设的并行度或者查询Hint 指定的并行度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值