XLAのチューニング

XLAのパフォーマンスを向上させる方法についてヒントを示します。

XLA使用時のトランザクション・ログ・バッファのサイズの拡大

パフォーマンスへの影響: 大

XLAを使用する場合は、トランザクション・ログ・バッファのサイズを大きくすることをお薦めします。

XLAが有効になっている場合は、XLAに関する追加情報を格納するために追加のトランザクション・ログ・レコードが生成されます。トランザクション・ログ・バッファのサイズが適切かどうかを確認するには、SYS.MONITOR表のエントリLOG_FS_READSおよびLOG_BUFFER_WAITSの変更に注意します。パフォーマンスを最適にするには、この2つの値が0のままである必要があります。これらの値を0のままにするには、トランザクション・ログ・バッファのサイズの増加が必要な場合があります。『Oracle TimesTen In-Memory Databaseリファレンス』LogBufMBを参照してください。

複数の更新レコードのプリフェッチ

パフォーマンスへの影響: 中

複数の更新レコードを一度にプリフェッチする処理は、XLAから各更新レコードを個々に取得する処理より効率的です。AUTO_ACKNOWLEDGEモードを使用すると、更新がプリフェッチされないため、他のモードよりも時間がかかります。

可能な場合は、更新を重複して行うことができるようにアプリケーションを設計すると、DUPS_OK_ACKNOWLEDGEの使用、または更新の明示的な確認が可能になります。各メッセージを個々に確認しないことがアプリケーションで許容される場合は、明示的に更新を確認すると、最も高いパフォーマンスを得ることができます。

XLA更新の確認

パフォーマンスへの影響: 中

XLA更新を明示的に確認するには、更新メッセージに対してacknowledgeをコールします。メッセージを暗黙的に確認すると、以前のすべてのメッセージが確認されます。

通常は、確認と確認の間に、複数の更新メッセージを受信および処理します。CLIENT_ACKNOWLEDGEモードを使用していて、永続サブスクリプションを将来再利用する場合は、終了する前に、acknowledgeをコールして最後に読み取られた位置にブックマークを再設定する必要があります。