Problèmes de performances du réseau en cas de copie des fichiers vers un contrôleur de domaine Windows 2000 ou Windows Server 2003

Traductions disponibles Traductions disponibles
Numéro d'article: 321098 - Voir les produits auxquels s'applique cet article
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Important Cet article contient des informations sur la modification du Registre. Sauvegardez le Registre avant de le modifier. Assurez-vous de savoir comment restaurer le Registre en cas de problème. Pour plus d'informations sur la sauvegarde, la restauration et la modification du Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
256986 Description du Registre de Microsoft Windows
Agrandir tout | Réduire tout

Symptômes

Si vous copiez des fichiers d'un ordinateur client Microsoft Windows 2000, d'un ordinateur client Microsoft Windows XP ou d'un ordinateur client Microsoft Windows Server 2003 vers un partage réseau sur un contrôleur de domaine qui exécute Windows 2000 ou Windows Server 2003, les performances du réseau seront moindres que si vous copiez les mêmes fichiers vers un serveur membre qui exécute Windows 2000 ou Windows Server 2003. Vous remarquerez peut-être ce problème si vous copiez un grand nombre de petits fichiers. Par contre, vous pouvez ne pas remarquer ce problème si vous copiez un petit nombre de fichiers volumineux. Ce problème survient uniquement si vous utilisez l'Explorateur Microsoft Windows pour copier les fichiers ou si une fenêtre de l'Explorateur Windows est ouverte et connectée au serveur cible. Cependant, si vous utilisez Xcopy.exe pour copier les fichiers et que toutes les fenêtres de l'Explorateur Windows sont fermées, vous ne rencontrez pas ce problème.

Cause

Ce problème se produit car les opérations d'écriture du protocole SMB (Server Message Block) dans un contrôleur de domaine qui exécute Windows 2000 ou Windows Server 2003 peuvent subir un délai atteignant 200 millisecondes entre chaque copie de fichier.

Si vous passez en revue un suivi du problème, vous remarquez que le différé survient après l'envoi au serveur d'une commande Notification de modification SMB par le client avec l'entrée FID qui correspond à l'entrée FID du dossier cible. L'Explorateur Windows publie une requête de notification de modification sur le partage réseau, qui demande l'envoi d'une notification en cas de modification du dossier qui apparaît dans le volet droit de l'Explorateur Windows. Si un contrôleur de domaine reçoit la requête de notification de modification, il n'y répond pas immédiatement ; il n'envoie pas de paquets pendant 200 millisecondes maximum. À ce moment-là, un simple paquet d'accusé de réception TCP (Transmission Control Protocol) est envoyé et l'opération de fichier reprend normalement.

Ce problème est le résultat de l'interaction entre deux composants réseau principaux de Windows 2000, les accusés de réception TCP retardés et la définition de priorités de thread sur les contrôleurs de domaine. La définition des priorités de thread permet à un contrôleur de domaine de définir correctement les priorités des services d'annuaire et des opérations de gestion des comptes avant certaines activités SMB, comme répondre à des requêtes de notification de modification.

Résolution

Avertissement Des problèmes sérieux peuvent se produire si vous modifiez le Registre de façon incorrecte à l'aide de l'Éditeur du Registre ou toute autre méthode. Ces problèmes peuvent vous obliger à réinstaller votre système d'exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Vous assumez l'ensemble des risques liés à la modification du Registre.
Lorsque vous envisagez ce problème, sachez qu'il se produit uniquement dans des circonstances très spécifiques ; ce problème survient uniquement si un client utilise l'Explorateur Windows pour copier un grand nombre de fichiers dans un contrôleur de domaine Windows 2000. Si vous modifiez la valeur du compteur ACK retardé, vous pouvez prévenir l'apparition de certains symptômes ; toutefois, si vous modifiez une valeur TCP/IP principale, vous pourrez rencontrer des résultats inattendus à l'avenir. Par conséquent, Microsoft vous recommande d'envisager d'autres alternatives avant de modifier la valeur de l'horloge. Ces solutions de substitution comprennent le déplacement des partages de fichiers vers un serveur membre ou l'utilisation d'un autre outil (tel que Xcopy ou Robocopy, qui fait partie du Kit de ressources de Windows 2000) pour copier un grand nombre de fichiers dans un contrôleur de domaine.

Dans le contrôleur de domaine, modifiez la valeur de Registre TcpDelAckTicks pour régler le compteur ACK retardé. Si vous définissez une valeur inférieure pour le compteur, le serveur envoie plus souvent un paquet d'accusé de réception mais à intervalles plus rapprochés.

Notez qu'en cas de latence élevée, segment hautement saturé, l'augmentation nette de paquets d'accusé de réception du contrôleur de domaine peut mettre le réseau à rude épreuve. Pour vous assurer que la valeur modifiée du compteur ACK retardé ne provoque pas d'autres goulots d'étranglement, testez-la soigneusement.

Si le réseau peut traiter les paquets d'accusé de réception supplémentaires, appliquez le correctif pré-Service Pack 3 (SP3) suivant au Service Pack 2 (SP2) Windows 2000 afin de pouvoir modifier la valeur du compteur ACK retardé :

311833 La valeur de Registre TcpDelAckTicks n'a aucun effet sur le délai d'expiration de l'accusé de réception
Après avoir appliqué ce correctif, utilisez cette procédure pour ajouter la valeur de Registre suivante qui spécifie le paramètre personnalisé du compteur ACK retardé :
  1. Démarrez l'Éditeur du Registre (Regedt32.exe).
  2. Recherchez, puis cliquez sur la clé suivante dans le Registre, où GUID_carte_réseau est l'identificateur global unique (GUID) pour la carte réseau qui se connecte aux clients :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\GUID_carte_réseau
  3. Dans le menu Edition, cliquez sur Ajouter une valeur, puis ajoutez la valeur de Registre suivante :
    Nom de la valeur : TcpDelAckTicks
    Type de données : REG_DWORD
    Données de la valeur : Vous pouvez définir cette valeur entre 0 et 6. Le paramètre par défaut est 2 (200 millisecondes).
  4. Quittez l'Éditeur du Registre.
  5. Redémarrez Windows pour que ces modifications prennent effet.
Cette valeur de Registre spécifie le nombre d'intervalles de 100 millisecondes à utiliser pour le compteur ACK retardé par interface. Par défaut, sa valeur est égale à 200 millisecondes. Si vous définissez la valeur de TcpDelAckTicks à 0, les accusés de réception retardés sont désactivés. L'ordinateur envoie alors immédiatement un paquet d'accusé de réception pour chaque paquet reçu.

Remarque Les valeurs spécifiques de la carte sont répertoriées sous les sous-clés pour chacune d'elles. Assurez-vous d'ajouter la valeur TcpDelAckTicks à la clé de Registre suivante :
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\GUID_carte_réseau
N'ajoutez pas cette valeur à la clé de Registre suivante :
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Plus d'informations

Un traçage réseau vous permet de voir que le client envoie le paquet "SMB: C NT transact - Notify Change". Le contrôleur de domaine Windows 2000 renvoie un paquet d'accusé de réception au client 200 millisecondes plus tard. Une fois le paquet reçu par le client, celui-ci débute l'opération SMB suivante et copie le prochain fichier.

Remarque Si vous utilisez le Moniteur réseau, les différés sont plus visibles si vous utilisez le filtre suivant :
SMB:Command == 0xA0 ( NT transact )
Utilisez ce filtre en association avec les options d'affichage suivantes :
Heure : (x) Secondes depuis la trame précédente
Vous pouvez identifier les requêtes et les réponses correspondantes en consultant l'attribut de trame SMB suivant :
SMB : ID multiplexage (MID)
La fonctionnalité d'accusé de réception retardé est basée sur la RFC (Request for Comments) 1122. TCP utilise des accusés de réception retardés pour réduire le nombre de paquets envoyés sur le réseau. La pile Microsoft TCP/IP prend une approche commune pour implémenter des accusés de réception retardés. Lorsque les données sont réceptionnées par le protocole TCP sur une connexion, la pile renvoie un accusé de réception uniquement si l'une des conditions suivantes est remplie :
  • Condition 1 : aucun accusé de réception n'est envoyé pour le précédent segment reçu.
  • Condition 2 : un segment est reçu, mais aucun autre segment n'arrive dans les 200 millisecondes (la valeur par défaut) pour cette connexion.
En général, un accusé de réception est envoyé pour chaque autre segment TCP qui est reçu sur une connexion, à moins que le compteur ACK retardé (200 millisecondes) n'expire. Vous pouvez ajuster le compteur à l'aide de la procédure décrite dans la section "Résolution" de cet article pour ajouter la valeur de Registre TcpDelAckTicks (cette valeur est nouvelle dans Windows 2000).

Remarque Notez que si vous modifiez la valeur de Registre TcpDelAckTicks, vous pourrez rencontrer des effets inattendus à l'avenir. Par conséquent, Microsoft vous recommande d'envisager d'autres alternatives avant de modifier l'horloge.

Le différé se produit si un accusé de réception a été envoyé pour le paquet précédent et que la réponse à la requête de notification de modification est mise dans une file d'attente par un contrôleur de domaine pour une période pouvant dépasser 200 millisecondes. Le décompte par défaut du compteur ACK étant de 200 millisecondes, le paquet d'accusé de réception TCP se produit 200 millisecondes après la réception de la requête de notification de modification par le client. Puisque le client attend une réponse du serveur avant de poursuivre avec l'opération SMB suivante, le différé survient pendant le décompte du compteur ACK retardé du serveur. Si vous effectuez un suivi du réseau, vous remarquez que toutes les requêtes de notification de modification du client ne subissent pas de différé.

La requête de notification de modification qui ne subit pas de différé est immédiatement précédée par un autre paquet pour lequel aucun accusé de réception n'est envoyé. Par conséquent, l'accusé de réception n'est pas retardé dans l'accusé de réception du contrôleur de domaine car la première des conditions décrites au début de cette section est remplie. Les paquets précédents de la requête de notification de modification qui ne subit pas de différé ont fait l'objet d'un accusé de réception ; par conséquent, le contrôleur de domaine ne répond pas jusqu'à expiration du compteur ACK retardé (la valeur par défaut est 200 millisecondes) car la deuxième condition décrite dans cette section est déclenchée.

Vous ne pouvez pas modifier la définition des priorités de thread d'un contrôleur de domaine ; par conséquent, vous devez attribuer une valeur inférieure au compteur ACK retardé en vue de prévenir l'apparition des symptômes décrits dans la section "Symptômes" de cet article. Le serveur envoie ensuite plus souvent les valeurs de l'accusé de réception mais à intervalles plus rapprochés.

Pour plus d'informations sur la valeur de Registre TcpDelAckTicks, reportez-vous au livre blanc situé sur le site Web de Microsoft à l'adresse suivante :
Informations détaillées concernant l'implémentation de Microsoft Windows 2000 TCP/IP
Pour plus d'informations sur ce problème, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
270926 Comment faire pour résoudre des problèmes liés à la copie de fichiers réseau dans Windows 2000
Sur un client Windows XP ou Windows Server 2003, une nouvelle clé de Registre nommée TcpAckFrequency contrôle les accusés de réception TCP avant l'expiration du compteur ACK retardé. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
328890 Nouvelle entrée du Registre pour contrôler le comportement d'accusé de réception TCP dans Windows XP et Windows Server 2003
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
321169 Faiblesse des performances SMB lors de la copie de fichiers de Windows XP vers un contrôleur de domaine Windows 2000

Propriétés

Numéro d'article: 321098 - Dernière mise à jour: jeudi 22 décembre 2005 - Version: 4.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Service Pack 2
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Advanced Server
Mots-clés : 
kbprb KB321098
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com