パフォーマンスイシューの調査

突然ビルドが遅くなった際の調査手順を残す。

ソースコードの問題か切り分けしたのち、ソースコードでなければサーバーのCPUとメモリをチェックするのが定石。

調査手順

  1. 対象リポジトリの、Junit Reportなどのビルドレポートがあれば参照する。Duration列を確認し、 遅くなっている箇所を特定>リポジトリ周りが遅くなっている
  2. DB周りの障害であると推測>テストコード自体の問題か、パフォーマンスの問題かの2択
  3. パフォーマンス疑義から、AWSコンソールのCPU使用率をモニタリング>高いレベルで張り付いている
  4. SSHでDBサーバーに接続し、topコマンドでCPUの高いプロセスを確認>oracleが原因っぽい
  5. A5SQLにてDBAでアクセスしoracleの動的パフォーマンスビューで調査
  6. SIDとSERIALをキーにキルする ALTER SYSTEM KILL SESSION

パフォーマンスビューからデータを取得するSQL

V$SESSIONでセッション情報とSQL_IDを調べる

SELECT
  SID, SERIAL#, SQL_ID, MACHINE, PROGRAM, STATUS, LAST_CALL_ET
FROM
  V$SESSION

V$SQLで、SQL_IDをキーにSQL情報を調べる

SELECT *
FROM V$SQL
WHERE SQL_ID='idval'

 

コメント

タイトルとURLをコピーしました