oralce rac 两台服务器响应速度不一致

看看看灰机 2018-03-19 03:01:45
各位大佬帮忙分析下什么原因可能造成这种情况,非常感谢!
rac两个节点A、B
情况1:相同的sql语句,在A上运行1秒,在B上运行20秒左右,而且日志显示B上有大量的磁盘读写(延迟报错oracle direct path read)。 两个节点用的相同的存储、实例,读取速度为什么会差距这么大。。。
情况2:B上运行查询语句时,如果查字段长度小于20的速度很快(1秒),如果字段长度超过50的长度20秒。
看了下读取的字节数差距很大,这么看是不是1也是由于磁盘读写造成的,
...全文
1831 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
minsic78 2018-04-12
  • 打赏
  • 举报
回复
引用 10 楼 yph_huiji 的回复:
[quote=引用 6 楼 minsic78 的回复:] 1、从10046的一点片段来看:可能是因为gc相关等待搞出来的问题; 2、从direct path read等待来看,也可能是两个实例的隐藏参数_serial_direct_read设置不同导致 按照#4楼的要求把格式化后的完整文件发上来看看吧
两个都是Auto。。我如果强制把速度不正常的改成不走直读硬盘,服务器内存32G够用么。。[/quote] 内存够不够要看你读的表是啥,怎么访问这张表而定…… 你之前是不是在1#节点对一张表做了大量DML操作,然后到另外一个节点去查询了?
看看看灰机 2018-04-08
  • 打赏
  • 举报
回复
引用 6 楼 minsic78 的回复:
1、从10046的一点片段来看:可能是因为gc相关等待搞出来的问题; 2、从direct path read等待来看,也可能是两个实例的隐藏参数_serial_direct_read设置不同导致 按照#4楼的要求把格式化后的完整文件发上来看看吧
两个都是Auto。。我如果强制把速度不正常的改成不走直读硬盘,服务器内存32G够用么。。
sxq129601 2018-04-04
  • 打赏
  • 举报
回复
考虑下是否是硬件方面的问题,叫硬件工程师看下磁盘是否存在问题,或者网线问题
看看看灰机 2018-04-04
  • 打赏
  • 举报
回复
这个是正常运行速度节点的
看看看灰机 2018-04-04
  • 打赏
  • 举报
回复
引用 4 楼 liuzhijian2008x 的回复:
用 tkprof格式化后看, 找到那个sql,看执行计划,耗时在哪个阶段,哪一步,耗再哪里,哪些等待事件耗时多少?
最近又跟踪了一下,最神奇的是有时候这台服务器运行速度是正常的,今天又监控到比较卡,各位大神帮忙分析下。。非常感谢
惜分飞 2018-03-20
  • 打赏
  • 举报
回复
1. 两个节点的数据库参数,硬件配置,系统参数配置是否一致? 2. 可能两个节点的执行计划不一样(这个在rac中还是不少发生的)
minsic78 2018-03-20
  • 打赏
  • 举报
回复
1、从10046的一点片段来看:可能是因为gc相关等待搞出来的问题; 2、从direct path read等待来看,也可能是两个实例的隐藏参数_serial_direct_read设置不同导致 按照#4楼的要求把格式化后的完整文件发上来看看吧
liu志坚 2018-03-19
  • 打赏
  • 举报
回复
用 tkprof格式化后看, 找到那个sql,看执行计划,耗时在哪个阶段,哪一步,耗再哪里,哪些等待事件耗时多少?
看看看灰机 2018-03-19
  • 打赏
  • 举报
回复
引用 1 楼 liuzhijian2008x 的回复:
情况1中 相同的sql语句分布在两个节点做个10046, 分析对比下看
异常刚开始执行之后还有个等待,但是我这个节点现在反应慢,我把应用都切到另外一台上了。。 WAIT #792402240: nam='SQL*Net message from client' ela= 6338392 driver id=1111838976 #bytes=1 p3=0 obj#=95516 tim=16417102098 XCTEND rlbk=0, rd_only=1, tim=16417102285
看看看灰机 2018-03-19
  • 打赏
  • 举报
回复
引用 1 楼 liuzhijian2008x 的回复:
情况1中 相同的sql语句分布在两个节点做个10046, 分析对比下看
这是磁盘io等待么。。 异常节点: WAIT #838917168: nam='gc cr block 2-way' ela= 950 p1=1 p2=2424 p3=4 obj#=407 tim=16417107694 WAIT #838917168: nam='gc current block 2-way' ela= 580 p1=1 p2=760186 p3=33554433 obj#=407 tim=16417108560 EXEC #838917168:c=0,e=4703,p=0,cr=1,cu=2,mis=1,r=1,dep=1,og=4,plh=0,tim=16417108880 STAT #838917168 id=1 cnt=0 pid=0 pos=1 obj=0 op='LOAD TABLE CONVENTIONAL (cr=1 pr=0 pw=0 time=2293 us)' CLOSE #838917168:c=0,e=10,dep=1,type=0,tim=16417109014 WAIT #0: nam='log file sync' ela= 558 buffer#=6988 sync scn=1567659127 p3=0 obj#=407 tim=16417109762 正常节点: EXEC #1881715296:c=0,e=2573,p=0,cr=1,cu=2,mis=1,r=1,dep=1,og=4,plh=0,tim=24076214902386 STAT #1881715296 id=1 cnt=0 pid=0 pos=1 obj=0 op='LOAD TABLE CONVENTIONAL (cr=1 pr=0 pw=0 time=179 us)' CLOSE #1881715296:c=0,e=9,dep=1,type=0,tim=24076214902495 WAIT #0: nam='log file sync' ela= 1357 buffer#=600 sync scn=1567685023 p3=0 obj#=-1 tim=24076214903988
liu志坚 2018-03-19
  • 打赏
  • 举报
回复
情况1中 相同的sql语句分布在两个节点做个10046, 分析对比下看

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧