性能问题定位步骤(暂记)

出现性能问题时, 必须收集的信息:
1. 问题出现的环境信息(应用IP、数据库IP)、准确时间
2. 出现问题应用实例
3. 性能问题现象:
1).记录应用进程状态: 可以使用top命令查看Java进程的CPU及内存使用情况;

2).记录数据库进程状态(RAC环境下,数据有两个节点,要分别收集):可以使用top命令查看Oracle进程CPU及内存使用情况;

4. 应用信息收集:

1).收集问题进程的Java堆使用情况(每隔5~10秒执行一次,多执行几次):

 

#获取wfm的jboss实例进程号
ps -ef|grep java|grep wfm
#切换到jdk/bin目录, 并执行jmap命令,查看JVM内存使用情况,关注PS Old Generation使用百分比:
/opt/inoc/jdk1.6.0_29/bin/jmap -heap <pid>

 

2).收集问题进程的Java线程Dump信息(每隔几分钟执行一次,多执行几次):

 

#获取wfm的jboss实例进程号
ps -ef|grep java|grep wfm
#使用kill -3,线程Dump信息将打印到nohup.out中:
kill -3 <pid>

  3).获取JVM快照:

 

#获取wfm的jboss实例进程号
ps -ef|grep java|grep wfm
#切换到jdk/bin目录, 并执行jmap命令,将JVM快照导出到/home/public/目录下:
cd /opt/inoc/jdk1.6.0_29/bin
./jmap -F -dump:format=b,file=/home/public/dump-tmp.bin [pid]
#压缩dump文件
cd /home/public
tar cvf – dump-tmp.bin |gzip –qc > dump-[yyyymmddhhmm].bin.tar.gz
rm –rf dump-tmp.bin
#文件生成后,使用FTP下载到本地

  4).获取jboss应用日志,主要是:

i. <jboss-4.2.3.GA>/server/default/log/server.log*
ii.<jboss-4.2.3.GA>/server/default/log/localhost_access_log*


5.数据库信息收集(RAC环境下,数据有两个节点,要分别收集):

1). (此信息必须在问题发生时,现场查看)通过top命令查看Oracle进程中,执行时间长或CPU占用率高的进程,并通过PL/SQL登录出问题的数据库实例,并执行以下SQL查看此进程当前正执行的SQL; 注意:登录的数据库实例可通过呈现问题的应用来判断,如:wfm应用是WFM实例

 

select sql_text, spid, v$session.program, process
  from v$sqlarea, v$session, v$process
 where v$sqlarea.address = v$session.sql_address
   and v$sqlarea.hash_value = v$session.sql_hash_value
   and v$session.paddr = v$process.addr
   and v$process.spid in (oracle进程号)

  2. AWR报告收集:

以oracle帐号登录数据库主机,切换ORACLE_SID操作系统变量为对应的数据库实例名,之后使用sqlplus访问数据库

 

sqlplus / as sysdba
--执行awrrpt.sql,生成AWR报告,注意:只生成问题出现前后半小时内的报告,所以,问题的出现时间一定要准确;
@/opt/oracle/app/oracle/product/11.2.0/.../rdbms/admin/awrrpt.sql

 


转载于:https://my.oschina.net/bigsloth/blog/186986

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值