关于应用服务器和数据库服务器性能和故障的分析方法

       针对应用服务器出现cpu持续异常高的情况,参照BEA工程师提供的方法,需要收集一些信息进行分析来查明是我们系统的原因还是weblogic的原因,或者是别的原因。
    目前一直观察CPU使用情况,虽然现在还没有收集到真正要的信息,但可以先将方法整理出来,供大家参考。
    操作方法:
1、在服务器上which dbx,如果有,可跳过此步,如果提供找不到,则需要安装aix第一张安装盘中的bos.adt软件包,具体安装方法如下:

2、重新整理了bea提供的调整weblogic配置的地方,修改和补充的地方用颜色区分出来了,见附件weblogic改造文档(补充).doc

3、weblogic的启动文件startWebLogic.sh、startp.sh和startm.sh里要将原来加的 MEM_ARGS="-Xms768m -Xmx768m -Xrs"最后的-Xrs去掉,这个参数问过集成的李难俊,是系统信号什么的东东,具体不是很清楚,说只要不是手工发信号,去掉没什么影响。启动文件修改完,需要重启服务。

4、分析方法:见附件bea官网cpu占用高的分析 或者 去bea官方网站上的说明:http://www.bea.com.cn/support_pattern/High_CPU_Usage_Pattern.html#AIX 
   注:1、如果没有去掉启动文件中的-Xrs,执行kill -3时,会将该进程直接杀死,并在服务器上产生一个core的二进制文件,该文件几百M,而且也无法进行分析。
       2、官方网站上没说需要重复收集多次信息,用来进行比较分析,上次枣庄出现了后,只收集了一次信息,联系bea工程师,说一次不能进行比较分析,原因不一定是当时抓到的那个进程,需要多次进行比较。教训,所以大家在进行分析的时候,多执行几次
ps -mp <WLS_PID> -o THREAD 和 kill -3 <WLS_PID> ,多抛几个javacoreXXX.XXX.txt文件出来,该文件在你的域下面,如/beawlsp4/user_projects/domains/mydomain下,注意看看占用CPU高的是不是都是那(几)个进程。

5、系统使用速度慢的时候,还要同时观察数据库的情况,有时候造成cpu异常高也可能是因为开发人员写SQL的时候有些条件没有加上,或者没有有效利用索引造成的,当营销系统反应比较慢的时候,可以先查找一下数据库有没有锁表的语句:
SELECT /*+ rule */ S.USERNAME, DECODE(L.TYPE, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL)
 LOCK_LEVEL, O.OWNER, O.OBJECT_NAME, O.OBJECT_TYPE, S.SID,   S.SERIAL#,  S.TERMINAL,   S.MACHINE,   S.PROGRAM,   S.OSUSER
 FROM V$SESSION S, V$LOCK L, DBA_OBJECTS O
 WHERE L.SID = S.SID
   AND L.ID1 = O.OBJECT_ID(+)
   AND S.USERNAME IS NOT NULL;
根据锁表的SID在session中找到该进程,点sqltext就可以看见造成速度慢或者锁表的SQL语句。

或者按照李宗阳提供的方法:

  登陆数据库服务器,并切换到oracle用户
  sqlplus yykf
  @$ORACLE_HOME/rdbms/admin/addmrpt.sql
  会列出时间段,选择开始时间段和结束时间段

  Enter value for begin_snap: 开始时间段
  Begin Snapshot Id specified:

  Enter value for end_snap: 截止时间段
  End   Snapshot Id specified:        

  Specify the Report Name
  ~~~~~~~~~~~~~~~~~~~~~~~
  The default report file name is addmrpt_2_3113_3114.txt.  To use this name,
  press <return> to continue, otherwise enter an alternative.

  Enter value for report_name: 输出文件名

该报告文件会将效率比较低的SQL语句分析出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值