| ST0512051 パフォーマンスの分析 Tips! データベース・アプリケーションでパフォーマンスの問題が発生した場合、アプリケーションからのどのような要求が問題となっているのか不明であるケースは珍しくありません。このような時は以下のような手順で、問題となっている可能性の高いデータベース・サーバに対する要求を特定することができます。
 
 (1)要求のロギング
 データベース・サーバの -zr オプションと、-zo 
オプションを使用して、アプリケーションから受け取った要求と、アプリケーションへ送られた応答のログを記録します。
 
 オプション使用例: dbsrv9 
〜 -zr SQL+hostvars -zo C:\DBReq.Log
 
 (2)要求のプロファイリング
 sa_get_request_profile システム・プロシージャ 
を使用して、上記で記録したログを読み込み、文の実行時間などを分析します。
 
 例: call 
sa_get_request_profile('C:\DBReq.Log')
 
 この結果は、グローバル・テンポラリ・テーブル 
satmp_request_time と satmp_request_profile へ格納されます。
 ・satmp_request_time 
テーブルは個別に文とその実行時間を持っています。
 ・satmp_request_profile テーブルは satmp_request_time 
テーブルを要約したもので、文、各文の実行回数、合計、平均、最大の各実行時間を持っています。
 
 (3)問題点の調査
 これらの情報から、一番実行時間が長かった文や、実行時間が短くとも実行回数が多い文などを探すことで、アプリケーションのボトルネックとなっている要求を調べることができます。
 
 
 例1: 
select * from satmp_request_time order by millisecs 
desc
 (実行時間の長い順に文を表示する)
 
 
  
 
 例2: select * from satmp_request_profile order by uses 
desc
 (実行回数の多い順に文を表示する)
 
  
 
 要求ロギングの詳細につきましては、以下のオンラインマニュアルをご参照下さい。
  ASA SQL 
ユーザーズ・ガイドパフォーマンスのモニタリングと改善
 パフォーマンス分析ツール
 要求ロギング
 
 |