Pool de threads avec validation en deux phases de l’intégrateur de transactions

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

Paramètres maximale par défaut des threads

Vous n’avez pas à vous soucier de la surcharge de ce pool, sauf si un grand nombre de transactions de validation 2PC est traité. La mise en file d’attente pour interagir avec DTC ne se produit que lorsque prepare les heures ou commit les heures des transactions sont très longues.

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

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

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

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

    HKLM\Software\Microsoft\Cedar\Defaults\Threads

  • IOPortPoolFactor = 20

  • IOPortActive = 19

  • ThreadPoolMax = 80

Règles pour la spécification de valeurs

Les règles suivantes s’appliquent à la spécification de valeurs :

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

  • IOPortPoolFactor doit être > = IOPortActive + 1.

  • ThreadPoolMax doit être > = IOPortPoolFactor.

Attention

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

Voir aussi

Programmes transactionnels avec durée d’exécution longue
Intégrateur de transactions - Guide des performances