Pool de threads TI 2PC

Le pool de threads d’intégrateur de transactions (TI) en deux phases (2PC) est différent du pool de threads utilisateur COM+. Le pool de threads TI 2PC est utilisé uniquement pour les transactions 2PC. Les threads sont précréés et un seul processus interagit avec Microsoft Distributed Transaction Coordinator (DTC) pour gérer prepare et commit les transactions. Cela améliore les performances en éliminant la création et la destruction de threads pour chaque transaction 2PC.

Paramètres de threads maximum par défaut

Vous n’avez pas à vous soucier de la surcharge de ce pool, sauf si un grand nombre de transactions 2PC sont traitées. C'est seulement lorsque les délais pour les transactions avec prepare ou commit deviennent très longs qu'une file d'attente pour interagir avec le DTC peut survenir.

  • Le nombre maximal de threads par défaut pour chaque PROCESSEUR est de 20.

  • Le nombre maximal de threads actifs par défaut pour chaque PROCESSEUR est de 19.

  • Le nombre maximal de threads par défaut pour chaque système est de 80.

    Vous pouvez ajuster les montants par défaut en ajoutant une valeur de chaîne TEXT à l’emplacement du Registre :

    HKLM\Software\Microsoft\Cedar\Defaults\Threads

  • IOPortPoolFactor=20

  • IOPortActive=19

  • ThreadPoolMax=80

Règles de spécification de valeurs

Les règles suivantes s’appliquent pour spécifier des valeurs :

  • Toutes les valeurs doivent être supérieures à zéro.

  • IOPortPoolFactor doit être >= IOPortActive + 1.

  • ThreadPoolMax doit être >= IOPortPoolFactor.

Avertissement

L’allocation d’un trop grand nombre de threads peut entraîner l’expiration de ressources par Windows, ce qui peut entraîner un comportement imprévisible dans COM+ et dans Windows.

Voir aussi

Programmes de transaction qui s’exécutent pendant longtemps
Guide des performances de l’intégrateur de transactions