TI 2PC Thread Pool
The Transaction Integrator (TI) two-phase commit (2PC) thread pool is different from the COM+ user thread pool. The TI 2PC thread pool is used only for 2PC transactions. The threads are precreated, and a single process interacts with Microsoft Distributed Transaction Coordinator (DTC) to handle prepare
and commit
transactions. This improves the performance by eliminating thread creation and destruction for every 2PC transaction.
Default Maximum Thread Settings
You do not have to worry about overburdening this pool unless large numbers of 2PC transactions are processed. Only when prepare
or commit
times for the transactions become very long can queuing to interact with DTC occur.
Default maximum threads for each CPU is 20.
Default maximum active threads for each CPU is 19.
Default maximum total threads for each system is 80.
You can adjust the default amounts by adding a TEXT string value to the registry location:
HKLM\Software\Microsoft\Cedar\Defaults\Threads
IOPortPoolFactor=20
IOPortActive=19
ThreadPoolMax=80
Rules for Specifying Values
The following rules apply for specifying values:
All values must be greater than zero.
IOPortPoolFactor must be >= IOPortActive + 1.
ThreadPoolMax must be >= IOPortPoolFactor.
Caution
Allocating too many threads can cause Windows to run out of resources, and that can cause unpredictable behavior in COM+ and in Windows.
See Also
Transaction Programs that Run for a Long Time
Transaction Integrator Performance Guide