ページの先頭行へ戻る
Symfoware Server V10.0.0 チューニングガイド

3.2 サンプリングした実行状態の内訳

データベースのデータを参照するには、ディスク上にあるデータをメモリに読み込む必要があります。ディスクからデータを読み込むためには、それなりの時間がかかるため、その読込み処理が完了するまではデータの参照を行うことができません。他にも、参照しようとしているデータを他のトランザクションが更新している可能性があります。適切に整合性のとれたデータを参照するためには、他のトランザクションの更新処理が完了するのを待つ必要があります。このように、データベースのデータを参照したり、更新したりするためには、様々な状態に対応して、処理を一時的に中断して待ち状態になることがあります。サンプリングした実行状態の内訳を見ることで、発生した状況や、どのような理由で処理が待ち状態になっていたのかを推測することができます。

サンプリングした実行状態の内訳で、待ち状態(WAITING)となった回数と待ち状態となった原因を確認します。

待ち状態(WAITING)の場合の表示内容と発生した状況を以下に示します。

表示内容

待ち状態となった原因

状況

LOCK

トランザクションの占有待ち

検索対象となっているレコードへのアクセスが、他のトランザクションのアクセスと競合したため、待ち状態になったことを示します。rdbpmreportコマンドで、SQL文が実行されていたときの資源の占有待ちに関する情報を確認することができます。

LOCK_TEMPORARY

トランザクションの一時占有待ち

ページ長が大きくかつレコード長が短い、というような1つのページの中に存在するレコードの数が多い場合に発生しやすくなります。

DB_BUFFER

共用バッファの空き待ち

共用バッファプール、あるいはデフォルトバッファプールに未使用のページがなくなったときに発生します。

DB_READ

ページ読込み待ち

データベースからのページの読み込み待ちが発生しています。rdbpmreportコマンドで、データベースに関する入出力の動作状況を確認できます。

DB_WRITE

ページ書込み待ち

共用バッファ上でページを変更しようとする際に、当該ページがデータベーススペースへ書き込み中であったため、書き込みが完了するまで待ちになったことを示します。

DB_WRITE_TRNEND

トランザクション終了時のページ書込み待ち

トランザクションのロールバック、またはリカバリなしの利用規定を設定しているDSIのデータ変更を行ったトランザクションのコミットで発生する場合があります。

LOG_BI_BUFFER

BIログバッファの空き待ち

テンポラリログファイルのBIログバッファの空き待ちが発生したことを示します。

LOG_AI_BUFFER

AIログバッファの空き待ち

テンポラリログファイルのAIログバッファの空き待ちが発生したことを示します。

LOG_RCP

リカバリログ量の減少待ち

テンポラリログファイルのAIログ量がリカバリログ量を超過したため、リカバリログ量が減少するまで待ちとなったことを示します。

LOG_BI_READ

BIログ読込み待ち

テンポラリログファイルのBIログ域への読込み待ちが発生したことを示します。

LOG_BI_WRITE

BIログ書込み待ち

テンポラリログファイルのBIログ域への書込み待ちが発生したことを示します。

LOG_AI_WRITE

AIログ書込み待ち

テンポラリログファイルのAIログ域への書込み待ちが発生したことを示します。

LOG_ARC_FULL

アーカイブログファイルの満杯状態の解消待ち

動作環境ファイルにARC_FULL=WAITを指定している場合に、アーカイブログファイルが満杯になったため、アーカイブログファイルのバックアップまたは破棄が行われるまで待ち状態となったことを示します。

処理が待ち状態となっていた場合のチューニング方法については、“4.6 処理が待ち状態となっていた場合のチューニング”を参照してください。

参照

以下の項目についての詳細は、“クラスタ導入運用ガイド”を参照してください。

  • DB_SEND

  • COM_BUFFER

  • COM_SEND

  • COM_RECV