TECHNOLOGY

Tips !(使用上のテクニック)

対象バージョン : 9.0.x
対象OS : Windows NT/2000/XP、Windows 95/98/Me、UNIX

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 ユーザーズ・ガイド
パフォーマンスのモニタリングと改善
パフォーマンス分析ツール
要求ロギング