23.3.1 チューニングの手順
大量更新を行うと,シンクポイント時にデータベースに反映する必要がある更新バッファ数(グローバルバッファ中の更新ページ数)が多くなるため,シンクポイント処理時間が長くなります。そのために,シンクポイント処理が連続してスキップされると,上書きできない状態のシステムログファイルが増加します。その結果,スワップ先にできる状態のファイルがなくなると,HiRDB(HiRDB/パラレルサーバの場合はユニット)が異常終了します。
これを防ぐために,ここの説明に従って,設計時に想定した時間内にシンクポイント処理を終わらせるようにしてください。なお,次に示す条件式を満たす場合はチューニングを行う必要はありません。
-
シンクポイント取得間隔(時間)>シンクポイント処理時間
デファードライト処理の遅延によってシンクポイント処理がスキップされた場合,KFPS02179-Iメッセージ(factor code = A01-01)が出力されます。この場合,(1)以降の手順に従ってチューニングを行ってください。
- 〈この項の構成〉
(1) チューニング情報を取得する
次に示すチューニング情報を取得してください。
-
CPU及びディスクの入出力に関する情報
-
グローバルバッファに関する統計情報
-
デファードライト処理に関する統計情報
1についてはOSの機能を使用して取得してください。2〜3については統計解析ユティリティで取得してください。
(2) デファードライト処理に関する統計情報を確認する
デファードライト処理に関する統計情報の動作要因(CAUSE)が,S(シンクポイント)の統計情報を参照してください。その結果,次に示すどちらかの条件を満たす場合は(3)に進んでください。満たさない場合は(9)に進んでください。
-
デファードライト処理の並列WRITE機能を使用していない場合
合計WRITE時間(DWSUM,DWSUMM)>シンクポイント取得間隔(時間)
-
デファードライト処理の並列WRITE機能を使用している場合
並列WRITE時間(DWPARA,DWPARAM)>シンクポイント取得間隔(時間)
シンクポイント取得間隔は,次に示すメッセージの出力時間の差分から求めてください。
-
KFPS02183-I(シンクポイント処理が完了したときに出力されるメッセージ)
-
KFPS02179-I(シンクポイント処理をスキップしたときに出力されるメッセージ)
(3) WRITE単価平均の値を確認する
デファードライト処理に関する統計情報のWRITE単価平均(DWAVG,DWAVGM)が,ディスクの書き込み性能に比べて極端に悪い場合,次に示すことを確認してください。該当しない場合は(4)に進んでください。
-
ディスク障害が発生していないか確認してください。
-
ディスク競合などが考えられます。OSの機能を使用して入出力に関するチューニング情報を取得し,その結果からチューニングを行ってください。チューニングの余地がない場合は(4)に進んでください。
(4) KFPS02179-Iメッセージを確認する
シンクポイント処理をスキップした場合,KFPS02179-Iメッセージが出力されます。このメッセージが出力されている時間帯に次に示すユティリティを実行している場合は,運用方法の変更を検討してください。該当しない場合は(5)に進んでください。
-
データベース作成ユティリティ,データベース再編成ユティリティ,リバランスユティリティを実行している場合
ユティリティの実行時に-nオプションを指定してローカルバッファを使用してください。ローカルバッファを使用できない場合は(5)に進んでください。
-
空きページ解放ユティリティを実行している場合
ユティリティの実行時に-pオプションを指定してください。-pオプションを指定できない場合は(5)に進んでください。
(5) シンクポイントの取得間隔を見直す
シンクポイントの取得間隔を長くできないか検討してください。長くできない場合は(6)に進んでください。シンクポイントの取得間隔はpd_log_sdintervalオペランドで変更できます。
(6) デファードライトトリガのチューニングを行う
「デファードライトトリガの実行間隔を短くする」及び「デファードライトトリガ時の更新ページの出力比率を高くする」で説明しているチューニングを行ってください。チューニング後も事態が解消されない場合は(7)に進んでください。
(7) デファードライト処理の並列WRITE機能を使用する
CPUに余裕がある場合は次に示すチューニングを行ってください。余裕がない場合は(8)に進んでください。
-
デファードライト処理の並列WRITE機能を使用していない場合
pd_dfw_awt_processオペランドを指定してデファードライト処理の並列WRITE機能を使用してください。使用後も事態が解消されない場合は(8)に進んでください。
-
デファードライト処理の並列WRITE機能を使用している場合
「デファードライト処理用並列WRITEプロセス数を多くする」で説明しているチューニングを行ってください。チューニング後も事態が解消されない場合は(8)に進んでください。
(8) 更新バッファ数の抑制を検討する
pd_dfw_syncpoint_skip_limitオペランドを指定して更新バッファ数を抑制してください。ただし,この場合,シンクポイント処理のスキップ回数が上限に達したとき,更新トランザクションの延長で更新バッファの出力を行うため,更新トランザクション性能が低下します。
pd_dfw_syncpoint_skip_limitオペランドを指定できない場合は,ディスクの増強を検討してください。
(9) グローバルバッファのチューニングを行う
次に示す現象が発生している場合,グローバルバッファのチューニングを行ってください。
-
バッファ排他待ち回数(WAITL)が多発している
-
出力待ち発生回数(WAITW)が多発している
-
グローバルバッファの排他処理の排他競合待ち発生率(SLEPR)が高い
-
更新バッファフラッシュ回数(UPFLS)が増加している
前記の情報,及びグローバルバッファのチューニングについては,「グローバルバッファプールのチューニング」を参照してください。