Re: [讨论] oracle 效能问题

楼主: oscaroec (OEC)   2017-06-03 12:03:26
※ 引述《oscaroec (OEC)》之铭言:
: 最近在进行灾难演练
: 但是oracle数据库的部分有个大问题
: 就是用了更好spec的硬件
: 更多的ram 更多core的CPU 较多的SGA & PGA
: 但是AP在load资料的速度反而更慢(差距几分钟以上)
: 原本DB是在8GB ram的VM(CentOS 5.5)上
: 新的我给了16GB(CentOS6.8 or Ubuntu 16)
: 前端搭配的是同个tomcat (code版本也都一样)
: 请问可能是哪个环节出错了吗?
: 请大家不吝指教 谢谢
后续针对版友建议做了一些处理
过程中也有一些心得
一起和大家分享
1.运用ORACLE内建的awrrpt.sql可以产生详细的报表
须注意他是以每一个小时(整点)为一个单位
使用方法:
a.切换到该目录,确认有无该sql档
$cd $ORACLE_HOME/rdbms/admin
b.进入SQL
SQL>@awrrpt.sql
c.后续照着提示做,就会有一份精美的html报表
2.透过报表了解SGA, I/O or network wait等数据都正常
仅CPU loading高
把重点放在SQL statement的调整
3.虽然用virtual index有看到query速度改善
但实际建上去并不是这么一回事
google了一下有几个原因
资料分布极端、statement内有一些导致index失效的语法
4.用hint的方式下参数强迫ORACLE用较多的CPU core去跑
在execute plan里有看到明显改善
目前还就研究相关设定
5.因为是用exp/imp方式 可能参数没下好 analyzed date没有更新
这个没有直接解决我的问题
但是应该是重要且必须要做的事情
结果: 目前还在努力中,也认命的乖乖开始将awrrpt提到的top 5 busy SQL改写
以上简单回应目前的处理状况
如果已知用火 还请各位高抬贵手
笑笑就好 (不然还要扫玻璃 会很麻烦...
作者: chefou (Ivan5)   2017-06-03 13:20:00
感谢分享,4跟5的部分,要注意统计资讯的收集
作者: LINGZ (肥兔小钦)   2017-06-04 22:39:00
推分享
作者: kobedisel (NO)   2017-06-06 22:17:00
第四点 不建议,除非该table 为hash partition, 且经过压测,否则prod使用parallel通常效果会更差 90%以上(parallel是一把刀),单一测试效果可能好,多人使用时就会resource消耗更凶而得到更差的结果。尤其在parallel时的execution plan 有多个P->S时 效果可能跟想像的相反。
楼主: oscaroec (OEC)   2017-06-07 13:04:00
感谢提醒~

Links booklink

Contact Us: admin [ a t ] ucptt.com