Oracleおよびオープンターゲットで有効(機能ごとに記載)
OLTPでよく見られるような小規模なトランザクションを処理する場合は、Postの速度を向上させることができます。
サポートされているデータベースに応じて以下の2つの機能を使用できます。
これらの機能を合わせてPEP(Post Enhanced Performance)と呼びます。
Oracle、SQL Server、およびPostgreSQLターゲットで有効
同時トランザクション機能は、トランザクションを並行して適用し、全体のスループットを向上させるようにPostプロセスを設定します。この機能を使用するには、プライマリキーとユニークキーのサプリメンタルロギングをソースで有効にする必要があります。
同時トランザクションを有効にするには:
注意: 同時トランザクションを使用することで、複数のPostプロセスを実行する必要性を軽減したり、なくしたりすることができます。ただし、単一障害点がなくなるため、複数のPostプロセスを使用する設定には依然としてメリットがあります。あるPostプロセスに失敗しても、他のPostプロセスを続行できるため、問題解決後のリカバリ時間が短縮されます。同時トランザクション機能は、複数のPostプロセスを使用するためのルール(参照整合性を持つすべてのテーブルを同じプロセスストリームに含めるなど)に従っている限り、複数Post設定で使用できます。詳細については、名前付きpostキューの設定を参照してください。
OracleおよびすべてのOpen Targetデータベースで有効
Postのコミット削減機能では、小規模なトランザクションのバッチを大規模なトランザクションにまとめます。1つの大規模なトランザクションは、複数の小規模なトランザクションよりも処理するコミットや確認が少ないため高速に実行できます。
Postは、小規模なトランザクションのコミットを、それらの合計サイズが以下のパラメーターのいずれかで指定したしきい値に達するまでスキップします。
デフォルトのバッチ・トランザクション・サイズは100メッセージです。この値は近似値です。バッチ内の最後のトランザクションのサイズが指定したしきい値を超えると、SharePlexは、ターゲットにバッチトランザクションを適用する前に残りのメッセージとコミットが確認されるまで待機します。
コミット削減はデフォルトで有効になっています。コミット削減を無効にするには、このパラメーターの値を1に設定します。
現在サポートされているJMSで有効
大規模なトランザクションを一連の小規模なトランザクションに分割するようにPostを設定できます。このオプションでは、トランザクションごとに許可される行ロックの数など、大規模なトランザクションに影響するリソース制限を回避することができます。
大規模なトランザクションを小規模なトランザクションに分割するには:
targetコマンドを使用してcommit_frequencyパラメーターを設定します。
target r.database [queue queuename] set resources commit_frequency=number_of_operations
このパラメーターは、Postがコミットを発行するまでの操作の最大回数を指定します。2以上の任意の整数が有効です。
例:
target r.mydb queue q1 set resources commit_frequency=10000
postキューのパフォーマンスを調整することで、Postのパフォーマンスを調整することができます。
SP_IMP_QUEUE_RESUMEパラメーターを使用して、Importがpostキューへの書き込みを再開するメッセージの数を設定します。 このパラメーターはSP_IMP_QUEUE_PAUSEと連動して機能します。postキュー内のメッセージ数がこのパラメーターで設定された値以下であれば、Importはpostキューへの書き込みを再開します。
この機能を使用するには、SP_IMP_QUEUE_PAUSEとSP_IMP_QUEUE_RESUMEの両方がゼロより大きく、SP_IMP_QUEUE_PAUSEがSP_IMP_QUEUE_RESUMEよりも大きくなければなりません。
トランザクションセッションを表すサブキュー構造にアクセスするためにサブキューインデックス作成を有効にすることで、postキューのパフォーマンスを向上させることができます。このパラメーターが有効になっているすべてのpostキューに対して、メッセージ「Subqueue index enabled queuename(サブキューインデックスが有効になっているキュー名)」がイベントログに書き込まれます。
この機能を有効にするには、SP_QUE_USE_SUBQUE_INDEXパラメーターを1に設定します。このパラメーターはVARRAYをサポートしません。VARRAYを複製しているときにこのパラメーターが有効になっている場合、このパラメーターは無視されます。
ハッシュベースの水平分割レプリケーションでは、デフォルトで行IDに基づくハッシュアルゴリズムを使用します。ハッシュベースの水平分割レプリケーションを使用しているテーブルでは、行が存在するブロックに基づくものにハッシュアルゴリズムを変更することで、処理を改善できる可能性があります。
アルゴリズムを変更すると、ルーティングの変更と同じ効果(パーティションを切り替える可能性)があるため、設定ファイルを再度有効にする必要があります。アクティベーションは、開いているトランザクションがないときにハッシュの変更が適用されるように、この変更の影響を受けるテーブルをロックします。このロックでは、新しいハッシュアルゴリズムで処理されたデータが、古いアルゴリズムで処理されたインフライトデータの前にポストされないように、非同期状態の可能性を排除します。
ブロックベースのハッシュに切り替えるには:
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center