4.3.1 ここは必ず確認しよう
(1) 初期調査方法の流れ
アプリケーションの性能に問題がある場合は,SQLトレースとUAP統計レポートを使って,SQLの性能を確認してください。SQLトレースとUAP統計レポートを使用したSQL性能の初期調査の流れを次に示します。
「SQL実行時間」,「HiRDBサーバ側でのSQL実行時間」および「HiRDBクライアントとHiRDBサーバ間の通信時間」がSQL処理のどの範囲に該当するか,次に示します。
[説明]
-
SQL実行時間
-
サーバ側でのSQL実行時間
-
HiRDBクライアントとHiRDBサーバ間の通信時間(図中の3-1と3-2を足した時間)
(2) 初期調査で確認する情報の一覧
SQLトレースとUAP統計レポートの情報のうち,初期調査で確認する情報について,次に示します。
目的 |
情報の分類 |
情報の内容 |
情報名 |
HiRDB SQL Tuning Advisorの 画面名および項目名 |
---|---|---|---|---|
SQL文を特定する |
SQL単位の情報 |
コネクト通番 |
CNCT NO |
SQLトレース集計情報画面(SQL単位) (CONNECT-NO) |
UAPのプロセス番号 |
CLPID |
SQLトレース集計情報画面(SQL単位) CLT-PID |
||
UAPのスレッド番号 |
CLTID |
SQLトレース集計情報画面(SQL単位) CLT-TID |
||
SQLカウンタ |
NO |
SQLトレース詳細画面 NO |
||
オペレーションコード |
OP CODE |
SQLトレース詳細画面 OP-CODE |
||
セクション番号 |
SEC NO |
SQLトレース集計情報画面(SQL単位) (SEC-NO) |
||
SQL文 |
SQL |
SQLトレース集計情報画面(SQL単位) SQL |
||
SQL実行結果を確認する |
SQL単位の情報 |
SQL文を実行した結果 |
SQL CODE |
SQLトレース詳細画面 SQL-CODE |
警告情報 |
SQL WARN |
SQLトレース詳細画面 WARN |
||
SQL実行時間を確認する |
SQL単位の情報 |
SQL実行時間 |
EXEC-TIME |
SQLトレース集計情報画面(SQL単位) 合計実行時間 |
SQLトレース詳細画面 実行時間 |
||||
HiRDBサーバ側でのSQL実行時間を確認する |
SQL単位の情報 |
サーバ側でのSQL実行時間 |
SVR EXEC-TIME |
SQLトレース集計情報画面(SQL単位) SVR EXEC-TIME |
SQLトレース詳細画面 SVR EXEC-TIME |
||||
UAP単位またはトランザクション単位の情報 |
データベースに対する入出力時間の累計 |
IOTIM |
UAP統計情報画面 IOTIM |
|
IOTIMM |
UAP統計情報画面 IOTIMM |
|||
排他待ち時間 |
WAITT |
UAP統計情報画面 WAITT |
||
HiRDBクライアントとHiRDBサーバ間の通信時間を確認する |
SQL単位の情報 |
通信処理の時間の目安 |
DIFF |
SQLトレース詳細画面 DIFF |
処理行数 |
EXEC COUNT |
SQLトレース詳細画面 EXEC COUNT |
(3) 出力ファイルから調査したいアプリケーションの情報を特定する方法
SQLトレースとUAP統計レポートの出力ファイル名にコネクト通番など接続ごとの情報が含まれていない場合(pd2sql1.trc,pdsql1.trcなど),1つのファイルに複数のアプリケーションの情報が出力されています。出力ファイル名の詳細は,マニュアル「HiRDB Version 9 UAP開発ガイド」の「SQLトレース機能」を参照してください。
1つのファイルに複数のアプリケーションの情報が出力されている場合は,調査したいアプリケーションの情報を次に示す手順で特定してください。
-
出力ファイルを次のキーワードで検索して,調査したいアプリケーションがHiRDB接続時に出力した情報を特定します。
表4‒3 接続時に出力する情報のキーワード キーワード
表示内容
USER APPLICATION PROGRAM FILE NAME
クライアント環境定義PDCLTAPNAMEで指定した名称
UAP START TIME
HiRDBに接続した時刻
図4‒3 HiRDB接続時に出力する情報の先頭部分 -
特定した情報の下に表示されているCONNECTION STATUS(UAP実行ステータス)から,次の情報を確認します。
-
CNCTNO(コネクト通番)
-
CLTPID(UAPのプロセス番号)
-
CLTTID(UAPのスレッド番号)
図4‒4 HiRDB接続時に出力するCONNECTION STATUS
-
-
調査したいアプリケーションのSQL単位の情報は,手順2で確認した値が,行の冒頭に表示されています。この値を基に,SQL単位の情報を特定してください。
図4‒5 SQL単位の情報 - 注
-
この図では,SQL単位の情報の右側部分を省略しています。
-
UAP単位またはトランザクション単位の情報の特定方法を説明します。UAP単位の情報とトランザクション単位の情報では,最初の行に出力されるキーワードが異なります。クライアント環境定義PDUAPREPLVLの設定値を確認して,どちらかのキーワードで検索してください。
-
UAP単位の情報の場合:UAP INFORMATION
-
トランザクション単位の情報:TRANSACTION INFORMATION
-
-
UAP単位またはトランザクション単位の情報についても,手順2で確認した値を基に特定してください。
図4‒6 UAP単位の情報