パフォーマンスの問題の位置づけ
性能問題が発生した場合、必ず収集しなければならない情報:1.問題が発生した環境情報(アプリケーションIP、データベースIP)、正確な時間2.問題が発生したアプリケーション例3.性能問題現象:1).アプリケーションプロセスの状態を記録する:topコマンドを使ってJavaプロセスのCPUとメモリの使用状況を見ることができる;
2).データベースプロセスのステータスを記録する(RAC環境では、データを収集するノードが2つあります):topコマンドを使用してOracleプロセスCPUおよびメモリの使用状況を表示できます.
4.アプリケーション情報収集:
1).収集問題プロセスのJavaスタック使用状況(5~10秒ごとに1回、複数回実行):
2).問題プロセスのJavaスレッドDump情報を収集する(数分おきに実行し、複数回実行する):
3).JVMスナップショットを取得する:
4).jbossアプリケーションログを取得します.主に:
i./server/default/log/server.log*
ii./server/default/log/localhost_access_log*
5.データベース情報収集(RAC環境では、データは2つのノードがあり、それぞれ収集する):
1).topコマンドでOracleプロセスの実行時間が長いかCPU使用率が高いプロセスを表示し、問題のあるデータベース・インスタンスをPL/SQLでログインし、次のSQLを実行してプロセスが現在実行中のSQLを表示します.注意:登録されたデータベース・インスタンスは、wfmアプリケーションがWFMインスタンスであるなど、問題を示すアプリケーションによって判断できます.
2.AWRレポート収集:
Oracleアカウントでデータベースホストにログインし、ORACLE_を切り替えます.SIDオペレーティングシステム変数は対応するデータベースインスタンス名であり、その後sqlplusを使用してデータベースにアクセスします.
2).データベースプロセスのステータスを記録する(RAC環境では、データを収集するノードが2つあります):topコマンドを使用してOracleプロセスCPUおよびメモリの使用状況を表示できます.
4.アプリケーション情報収集:
1).収集問題プロセスのJavaスタック使用状況(5~10秒ごとに1回、複数回実行):
# 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.
ii.
5.データベース情報収集(RAC環境では、データは2つのノードがあり、それぞれ収集する):
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