TI 2PC スレッド プール

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

既定の最大スレッド設定

大量の 2PC トランザクションが処理されない限り、このプールへの過剰な負荷について心配する必要はありません。 トランザクションが非常に長くなった場合preparecommitにのみ、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 で予期しない動作が発生する可能性があります。

参照

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