ここでは、サンプリングした実行状態の種別ごとに、処理に時間がかかっている主な原因と対策を紹介します。
DB_SEND
この中断はメモリ常駐を行っているDSIの運用待機間通信で待ちが発生したことを示します。この中断が多く発生している場合は以下の対処を検討してください。
rdbresidentコマンドのsオプションでメモリ常駐を行っているDSI数の削減
rdbresidentコマンドのsオプションでメモリ常駐を行っているDSIの運用待機間通信量は、DSIのデータを変更する頻度に比例します。このため、rdbresidentコマンドのsオプションでメモリ常駐を行っているDSI数を削減することにより、運用待機間通信量を削減します。
COM_BUFFER、COM_SEND、COM_RECV
これらの中断はRDBシステム間通信で待ちが発生したことを示します。これらの中断が多く発生している場合は以下の対処を検討してください。
アプリケーションの接続先ノードの変更、またはDSIのノード配置の変更
アプリケーションがアクセスするDSIが偏在しているノードへアプリケーションを接続するか、またはDSIのノード配置を変更することで、RDBシステム間通信量を削減します。
クライアント用の動作環境ファイルのTRAN_SPECパラメタの変更
SQL文がエラーとなったときに、トランザクションをロールバックするように設定することで、RDBシステム間通信の通信量が減少し改善することがあります。この設定を行うには、動作環境ファイルのTRAN_SPECパラメタにTRANSACTION_ROLLBACKを設定します。
SQL文がエラーとなったときにトランザクションを常にロールバックさせても問題ない場合に設定してください。