123
返回列表 发新帖
楼主: chenzhen232

[原创] RAC下的ERP系统 业务繁忙时cpu90%以上,老大们给点建议

[复制链接]
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
21#
发表于 2008-3-13 09:05 | 只看该作者
1。
PROD1 更多用于查询(Query)
PROD2更多用于修改数据(DML)
这从Load Profile里面的 REDO Size 和 Logical Read可以很轻松的看出来。

2。
至于总体的,相对Server的能力来说,至少在收集的区间里面,系统资源都算得上是绰绰有余, 可能收集的并不是系统最繁忙的时候?
prod 1 :  18 min 的时间 ,12 CPU, 总的server CPU能力是 18.15*60*12= 13000 sec ,而实际的CPU Time 4500 , 也就是 35%的CPU使用率
prod 2 : 22 min , CPU Time 4000, CPU使用率也就25%

3。
parse 方面完全没有问题, Parse CPU to Parse Elapsd % 和 Memory Usage %都不能说明有性能问题
Parse CPU to Parse Elapsd % 一定要和  % Non-Parse CPU一起看才有意义。至于Memory Usage %,高并不代表有问题

4。
Prod 1/2 都有个很明显的Top SQL
  Buffer Gets    Executions  Gets per Exec  %Total Time (s)  Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ----------
     51,145,739           90      568,286.0   67.9  3068.09   3143.19 1016919851
Module: TSORDSHP_NEW
select tov.lot_status , tov.lot_id, tov.lot_no, (tov.loct_onhand
-nvl((select thv.HOLDQTY from tiens_holdquantity_v thv where thv
.item_id=tov.item_id and thv.whse_code=tov.whse_code and thv.LOT
_ID=tov.lot_id and thv.LOT_STATUS=tov.lot_status),0)) usefulqty,
tov.expire_date from tiens_onhandqty_v tov,ic_lots_sts ils wher
处理掉的话会使CPU的总体CPU占有率降低为原来的 1/4左右 ,值得一做。

5。PROD1的另两个Top SQL( order by Read) 处理一下,也就很容易把性能提高很明显
Physical Reads  Executions  Reads per Exec %Total Time (s)  Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ----------
        799,160            1      799,160.0   82.6   285.66   1827.69 1908206396
Module: TSORDWKB
SELECT ord.ORDER_HEADER_ID,ord.ORDER_NUMBER,ord.CUSTOMER_REF_NUM
BER,ord.CUSTOMER_NAME,ord.CURRENCY_CODE,ord.FREIGHT_AMOUNT,ord.C
HARGE_AMOUNT,ord.BONUS_DATE,ord.ORDER_TYPE_MEANING,ord.ORDER_STA
TUS_MEANING,ord.ORDER_DATE,ord.BATCH_NUMBER,ord.CUSTOMER_NAME_EN
,ord.LOCAL_LEVEL_MEANING,ord.GLOBAL_LEVEL_MEANING,ord.HONOR_LEVE

        704,473            8       88,059.1   72.8    78.82    926.22 2979013543
Module: TIENS_INV_INOUT_PKG
SELECT NVL(SUM(IP.LOCT_ONHAND),0) ON_HAND, NVL(SUM(CUX_FUN_GET_C
OST(B.ITEM_ID,IP.WHSE_CODE,SUBSTR('0'||IP.PERIOD,-2)||SUBSTR(IP.
FISCAL_YEAR,-2))*IP.LOCT_ONHAND),0) ON_COST FROM IC_PERD_BAL IP,
IC_ITEM_MST_B B ,IC_WHSE_MST IWM , ORG_ORGANIZATION_DEFINITIONS
OOD WHERE IP.ITEM_ID = B.ITEM_ID AND IP.WHSE_CODE=IWM.WHSE_CODE

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
22#
发表于 2008-3-13 09:06 | 只看该作者
总体结论:
Server 没问题, DB 设置没问题, RAC没问题,IO也没有问题,问题就在3个Top SQL上,解决掉即可。

使用道具 举报

回复
论坛徽章:
14
会员2007贡献徽章
日期:2007-09-26 18:42:10生肖徽章2007版:鸡
日期:2009-10-29 16:15:30生肖徽章2007版:兔
日期:2009-04-14 19:32:34生肖徽章2007版:猴
日期:2008-11-28 10:39:32奥运会纪念徽章:摔跤
日期:2008-08-12 10:59:32奥运会纪念徽章:艺术体操
日期:2008-08-07 09:43:42奥运会纪念徽章:举重
日期:2008-05-04 17:12:35生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53
23#
发表于 2008-3-13 09:26 | 只看该作者
从斑竹的话中学到不少东西。。。

使用道具 举报

回复
论坛徽章:
98
2009日食纪念
日期:2009-07-22 09:30:002010新春纪念徽章
日期:2010-03-01 11:05:012010年世界杯参赛球队:美国
日期:2010-05-02 21:32:232010数据库技术大会纪念徽章
日期:2010-05-13 09:34:23ITPUB季度 技术新星
日期:2010-05-17 15:53:17数据库板块每日发贴之星
日期:2010-05-24 01:01:072010年世界杯参赛球队:意大利
日期:2010-05-31 20:55:432010年世界杯参赛球队:巴拉圭
日期:2010-07-03 13:06:582010世博会纪念徽章
日期:2010-08-18 23:53:44ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
24#
发表于 2008-3-13 09:33 | 只看该作者
受教了,看版主的分析的确是种享受。

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2008-3-13 10:17 | 只看该作者
rollingpig ,谢谢你的分析。我也受教了。

使用道具 举报

回复
论坛徽章:
3742
生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41
26#
 楼主| 发表于 2008-3-13 13:55 | 只看该作者
rollingpig 老大终于发话了,谢谢指点.

使用道具 举报

回复
论坛徽章:
107
生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-05-06 11:21:14生肖徽章2007版:兔
日期:2009-02-21 18:08:58生肖徽章2007版:兔
日期:2009-03-10 21:20:36迷宫蛋
日期:2011-09-13 10:38:48ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41紫蛋头
日期:2011-12-05 13:26:13
27#
发表于 2008-3-13 14:05 | 只看该作者
从实例1的TOP 5 wait event 中看出
db file scattered read                            118,726       1,164    18.85
db file sequential read                            31,109         241     3.91

建议到v$sqlarea 中找disk_reads+buffer_gets 比较大的SQL

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2008-3-13 14:36 | 只看该作者
原帖由 rollingpig 于 2008-3-13 09:06 发表
总体结论:
Server 没问题, DB 设置没问题, RAC没问题,IO也没有问题,问题就在3个Top SQL上,解决掉即可。



还是集中在这三个top sql上 执行次数不多 但对db buffer的占用相当严重.分析下索引,表结构,查看下执行计划.优化执行避免fts
这三个sql解决了高占用应该会降下来

使用道具 举报

回复
论坛徽章:
0
29#
发表于 2008-3-13 14:39 | 只看该作者
第一台机器搞定前面的sql就可以了,你的cpu等待
有70%都是这两个sql消耗掉了.

Buffer Gets    Executions  Gets per Exec  %Total Time (s)  Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ----------
     66,366,375          320      207,394.9   44.3   820.03   1027.55  424956757
Module: TSSSC
SELECT /*+index(toh,TIENS_ORDER_HEADERS_N1) */ SUM(TOL.QUANTITY
* NVL(TOL.SHIPPING_SIGN, 1) * DECODE(TOL.LINE_TYPE_ID, 1607, 0,
4318, 0, 1) * DECODE(TOH.ORDER_TYPE_ID, 3752, 0, 1) * NVL((SELEC
T QLL.OPERAND FROM QP_LIST_LINES_V QLL WHERE QLL.LIST_HEADER_ID
= :B5 AND QLL.PRODUCT_ID = TOL.INVENTORY_ITEM_ID AND QLL.PRODUCT

     66,154,947          118      560,635.1   44.2  3882.24   4533.97 1016919851
Module: TSORDSHP_NEW
select tov.lot_status , tov.lot_id, tov.lot_no, (tov.loct_onhand
-nvl((select thv.HOLDQTY from tiens_holdquantity_v thv where thv
.item_id=tov.item_id and thv.whse_code=tov.whse_code and thv.LOT
_ID=tov.lot_id and thv.LOT_STATUS=tov.lot_status),0)) usefulqty,
tov.expire_date from tiens_onhandqty_v tov,ic_lots_sts ils wher

[ 本帖最后由 StudyCow 于 2008-3-13 14:40 编辑 ]

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
30#
发表于 2008-3-13 16:48 | 只看该作者
1. 你的问题解决了吗?18分钟的sp, 是你的系统繁忙的时间段吗?
2. 繁忙时间段,应用运行缓慢吗?
3. 建议从系统的负载和sp 结合一起分析,才容易找到瓶颈。
4.  从prd1上看到GMID 大量的读,prd2上的APPLSYSD 有大量的读写, 你的存储系统配置是什么?

使用道具 举报

回复

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

本版积分规则 发表回复

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