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

Le pool de threads 2PC (Transaction Integrator) de validation en deux phases (TI) 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 les prepare transactions et commit . Cela améliore les performances en éliminant la création et la destruction de threads pour chaque transaction 2PC.

Paramètres de thread maximum par défaut

Vous n’avez pas à vous soucier de surcharger ce pool, sauf si un grand nombre de transactions 2PC sont traitées. Ce n’est que lorsque prepare les commit transactions deviennent très longues ou lorsque la file d’attente peut se produire pour interagir avec DTC.

  • 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.

Attention

L’allocation d’un trop grand nombre de threads peut faire en sorte que Windows n’ait plus de ressources, 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