次の方法で共有


TI 2PC スレッド プール

トランザクション インテグレーター (TI) の 2 フェーズ コミット (2PC) スレッド プールは、COM+ ユーザー スレッド プールとは異なります。 TI 2PC スレッド プールは、2PC トランザクションにのみ使用されます。 スレッドは事前に作成され、1 つのプロセスが Microsoft 分散トランザクション コーディネーター (DTC) と対話して、 prepare および commit トランザクションを処理します。 これにより、2PC トランザクションごとにスレッドの作成と破棄を排除することで、パフォーマンスが向上します。

既定の最大スレッド設定

大量の 2PC トランザクションが処理されない限り、このプールへの過剰な負荷を心配する必要はありません。 トランザクションの prepare または commit 時間が非常に長くなった場合のみ、DTC と対話するためのキューが発生する可能性があります。

  • 各 CPU の既定の最大スレッド数は 20 です。

  • 各 CPU の既定の最大アクティブ スレッド数は 19 です。

  • 各システムの既定の最大スレッド数は 80 です。

    レジストリの場所に TEXT 文字列値を追加することで、既定の量を調整できます。

    HKLM\Software\Microsoft\Cedar\Defaults\Threads

  • IOPortPoolFactor=20

  • IOPortActive=19

  • ThreadPoolMax=80

値を指定するための規則

値の指定には、次の規則が適用されます。

  • すべての値は 0 より大きくする必要があります。

  • IOPortPoolFactor は >= IOPortActive + 1 である必要があります。

  • ThreadPoolMax は >= IOPortPoolFactor である必要があります。

注意事項

割り当てるスレッドが多すぎると、Windows でリソースが不足し、COM+ と Windows で予期しない動作が発生する可能性があります。

こちらもご覧ください

長時間実行されるトランザクション プログラム
トランザクション インテグレーター パフォーマンス ガイド