Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment optimiser les performances de la carte réseau dans les environnements Windows Server. Le réglage des performances de la carte réseau peut améliorer considérablement le débit, réduire la latence et optimiser l'utilisation des ressources pour vos charges de travail de serveur.
Les variables suivantes déterminent les paramètres de réglage adéquats de vos adaptateurs réseau :
- La carte réseau et son jeu de fonctionnalités
- Le type de charge de travail que le serveur réalise
- Les ressources matérielles et logicielles du serveur
- Vos objectifs de performances pour le serveur
Les paramètres de réglage optimaux dépendent de votre configuration matérielle spécifique, des exigences de charge de travail et des objectifs de performances. Avant d'implémenter des modifications, évaluez vos performances réseau actuelles et identifiez les possibilités d'amélioration. Certaines fonctionnalités et certains paramètres peuvent varier d'une version à l'autre.
Les sections qui suivent décrivent certaines options de réglage des performances.
Fonctionnalités de déchargement
Les fonctionnalités de déchargement réseau transfèrent les tâches de traitement du processeur vers la carte réseau, ce qui réduit la surcharge système et améliore les performances réseau globales. Les fonctionnalités de déchargement courantes incluent le déchargement de somme de contrôle TCP, le déchargement d’envoi important (LSO) et la mise à l’échelle côté réception (RSS).
L’activation des fonctionnalités de déchargement de la carte réseau est souvent bénéfique. Toutefois, l’adaptateur réseau n'est pas toujours suffisamment puissant pour gérer les capacités de déchargement lorsque le débit est élevé. Par exemple, considérez une carte réseau avec des ressources matérielles limitées. Dans ce cas, l’activation des fonctionnalités de déchargement de segmentation peut réduire le débit maximal durable de l’adaptateur. Toutefois, si le débit réduit est acceptable, vous devez activer les fonctionnalités de déchargement de segmentation.
Certains adaptateurs réseau exigent que vous activiez les fonctionnalités de déchargement indépendamment pour les chemins d’envoi et de réception.
Important
N'utilisez pas les fonctionnalités de déchargement IPsec Task Offload ou TCP Chimney Offload. Ces technologies sont déconseillées dans Windows Server 2016 et peuvent nuire aux performances du serveur et du réseau. En outre, Microsoft peut ne plus prendre en charge ces technologies à l'avenir.
Mise à l’échelle côté réception (RSS) pour les serveurs web
RSS peut améliorer l'extensibilité web et les performances lorsque le serveur comprend moins de cartes réseau que de processeurs logiques. Lorsque l'ensemble du trafic web passe par les adaptateurs réseau, le serveur peut prendre en charge les demandes web entrantes provenant de connexions différentes peuvent être traitées simultanément dans différents processeurs.
Important
Évitez d’utiliser des adaptateurs réseau non RSS et des adaptateurs réseau compatibles RSS sur le même serveur. En raison de la logique de distribution de charge dans RSS et du protocole HTTP (Hypertext Transfer Protocol), les performances peuvent être fortement dégradées si un adaptateur réseau ne prenant pas en charge RSS accepte le trafic sur un serveur équipé d’une ou plusieurs adaptateurs réseau prenant en charge RSS. Dans ce cas, vous devez utiliser des cartes réseau compatibles RSS ou désactiver RSS sous l’onglet Propriétés avancées de la carte réseau.
Pour déterminer si une carte réseau est compatible RSS, vous pouvez afficher les informations RSS sous l’onglet Propriétés avancées de la carte réseau.
Profils RSS et files d'attente RSS
Le profil RSS prédéfini par défaut est NUMAStatic. Avant de commencer à utiliser les profils RSS, passez en revue les profils existants pour comprendre quand ils sont bénéfiques et comment ils s'appliquent à votre environnement et matériel réseau.
Par exemple, ouvrez le Gestionnaire des tâches et passez en revue les processeurs logiques sur votre serveur. S'ils semblent sous-utilisés pour la réception de trafic, vous pouvez essayer d'augmenter le nombre de files d'attente RSS de la valeur par défaut (2) à la valeur maximale prise en charge par votre carte réseau. Votre carte réseau peut proposer des options permettant de changer le nombre de files d'attente RSS dans le pilote.
Ressources des cartes réseau
Pour les adaptateurs réseau qui autorisent la configuration manuelle des ressources, comme les tampons de réception et d'envoi, vous devez augmenter les ressources allouées.
Certaines cartes réseau définissent des tampons de réception faibles afin de conserver la mémoire allouée depuis l'hôte. Cela conduit à des paquets ignorés et des performances réduites. Par conséquent, dans les scénarios de réception intensive, nous vous recommandons d'augmenter la valeur du tampon de réception à son maximum.
Si une carte réseau ne propose pas la configuration manuelle des ressources, soit elle configure les ressources de manière dynamique, soit les ressources sont définies sur une valeur fixe qui ne peut pas être modifiée.
Modération des interruptions
Pour contrôler la modération de l'interruption, certains adaptateurs réseau proposent différents niveaux de modération de l'interruption, des paramètres de fusion de tampons différents (parfois séparément pour les tampons d'envoi et de réception), ou les deux.
Vous devez envisager la modération des interruptions pour les charges de travail liées au processeur. Lors de l’utilisation de la modération de l'interruption, réfléchissez au compromis entre les ressources processeur économisées côté hôte et la latence, versus les ressources processeur supplémentaires économisées côté hôte en raison des interruptions plus nombreuses et de la latence plus faible. Si la carte réseau n'effectue pas de modération des interruptions, mais qu'elle expose la coalescence des tampons, vous pouvez améliorer les performances en augmentant le nombre de tampons fusionnés pour permettre un plus grand nombre de tampons par envoi ou réception.
Traitement des paquets à faible latence
De nombreuses cartes réseaux proposent des options permettant d'optimiser la latence induite par le système d'exploitation. La latence est la durée qui sépare le traitement d'un paquet entrant par le pilote réseau et le renvoi du paquet par ce pilote. Cette durée est généralement mesurée en microsecondes. À titre de comparaison, la durée de transmission de paquets sur de longues distances est généralement mesurée en millisecondes (un ordre de magnitude plus grand). Ce réglage ne réduit pas la durée de transit d'un paquet.
La liste suivante contient quelques suggestions de réglage des performances pour les réseaux sensibles à la microseconde :
Si votre BIOS le prend en charge, définissez le BIOS de l’ordinateur sur Hautes performances, avec
C-statesdésactivé. Certains systèmes offrent des performances plus élevées si le système d'exploitation contrôle la gestion de l'alimentation. Vous pouvez vérifier et ajuster vos paramètres de gestion de l'alimentation à partir des paramètres d'alimentation ou à l'aide de la commandepowercfg. Pour plus d’informations, voir Options de ligne de commande Powercfg.Définissez le profil de gestion de l'alimentation du système d'exploitation sur Système hautes performances. Ce paramètre ne fonctionne pas correctement si le BIOS système est défini pour désactiver le contrôle du système d'exploitation de la gestion de l'alimentation.
Activez les déchargements statiques. Par exemple, activez les paramètres Sommes de contrôle UDP, Sommes de contrôle TCP et Envoyer un déchargement volumineux (LSO).
Si le trafic est multi-diffusé, par exemple lors de la réception d’un trafic multidiffusion à volume élevé, activez RSS.
Désactivez le paramètre De modération des interruptions pour les pilotes de carte réseau qui nécessitent la latence la plus faible possible. Rappelez-vous que cette configuration peut utiliser plus de temps processeur et qu'il représente un compromis.
Gérez les interruptions de carte réseau et les appels de procédure différés (DPC) sur un processeur cœur qui partage le cache d'UC avec le cœur qui est utilisé par le programme (thread utilisateur) qui traite le paquet. Le réglage de l'affinité processeur peut être utilisé pour diriger un processus vers certains processeurs logiques avec la configuration RSS. L'utilisation du même cœur pour le thread d'interruption, le thread DPC et le thread de mode utilisateur réduit les performances à mesure que la charge augmente du fait de la compétition entre ISR, DPC et le thread pour utiliser le cœur.
Interruptions d'administration système
De nombreux systèmes matériels utilisent des interruptions de gestion du système (SMI) pour différentes fonctions de maintenance, telles que la création de rapports d'erreurs mémoire de code de correction d'erreurs (ECC), la gestion de la compatibilité USB héritée, le contrôle du ventilateur et la gestion des paramètres d'alimentation contrôlés par le BIOS.
L’interface SMI est l’interruption de priorité la plus élevée sur le système et place le processeur en mode de gestion. Ce mode préempte toute autre activité alors que SMI exécute une routine de service d’interruption, généralement contenue dans le BIOS. Malheureusement, ce comportement peut conduire à des pointes de latence de 100 microsecondes ou davantage.
Si vous avez besoin d'une latence très faible, demandez à votre fournisseur de matériel une version du BIOS qui réduit au maximum les SMI. Ces versions du BIOS sont fréquemment appelées BIOS à faible latence ou BIOS sans SMI. Dans certains cas, une plateforme matérielle ne peut pas complètement éliminer l'activité SMI car elle est utilisée pour contrôler des fonctions essentielles (ventilateurs de refroidissement par exemple).
Le système d'exploitation ne peut pas contrôler les SMI car le processeur logique s'exécute dans un mode de maintenance spécial qui empêche l'intervention du système d'exploitation.
Réglage automatique de la fenêtre de réception TCP
La pile réseau Windows utilise une fonctionnalité nommée de niveau de réglage automatique de la fenêtre de réception TCP pour négocier la taille de la fenêtre de réception TCP. Cette fonctionnalité peut négocier une taille de fenêtre de réception définie pour chaque communication TCP pendant l'établissement d'une liaison TCP et améliorer les performances des connexions TCP.
Auparavant, la pile réseau Windows utilisait une fenêtre de réception de taille fixe de 65 535 octets qui limitait le débit potentiel global des connexions. Le débit total réalisable des connexions TCP peut limiter les scénarios d’utilisation du réseau. Le réglage automatique de la fenêtre de réception TCP permet à ces scénarios d'utiliser entièrement le réseau.
Pour une fenêtre de réception TCP qui a une taille particulière, vous pouvez utiliser l'équation suivante pour calculer le débit total d'une seule connexion :
Débit total réalisable en octets = Taille de la fenêtre de réception TCP en octets * (1 / latence de connexion en secondes)
Par exemple, pour une connexion de 1 Gbits/s qui a une latence de 10 ms, le débit total réalisable n'est que de 51 Mbits/s. Cette valeur est raisonnable pour une infrastructure réseau d’entreprise volumineuse. Toutefois, en utilisant le réglage automatique pour ajuster la fenêtre de réception, la connexion peut atteindre le débit de ligne complet de 1 Gbit/s.
Certaines applications définissent la taille de la fenêtre de réception TCP. Si l'application ne définit pas la taille de la fenêtre de réception, la vitesse de la liaison détermine la taille comme suit :
| Vitesse de liaison | Taille de la fenêtre de réception |
|---|---|
| Moins de 1 Mbits/s | 8 Ko |
| De 1 Mbits/s à 100 Mbits/s | 17 Ko |
| De 100 Mbits/s à 10 Gbits/s | 64 Ko |
| 10 Gbits/s ou plus rapide | 128 Ko |
Par exemple, sur un ordinateur sur lequel une carte réseau de 1 Gbit/s est installée, la taille de la fenêtre doit être de 64 Ko.
Cette fonctionnalité utilise également pleinement d’autres fonctionnalités pour améliorer les performances réseau. Ces fonctionnalités incluent le reste des options TCP définies dans RFC 1323. Les ordinateurs sous Windows peuvent utiliser ces fonctionnalités pour négocier des tailles de fenêtre de réception TCP plus petites, mais mises à l'échelle à une valeur définie en fonction de la configuration. Ce comportement est plus facile à gérer pour les appareils réseau.
Note
Vous pouvez rencontrer un problème dans lequel l'appareil réseau n'est pas conforme à l'option de mise à l'échelle de la fenêtre TCP telle que définie dans RFC 1323 et, par conséquent, ne prend pas en charge le facteur d'échelle. Dans ce cas, contactez le fournisseur de votre appareil réseau.
Niveaux de mise en forme automatique
Vous pouvez définir le réglage automatique de la fenêtre de réception TCP sur l'un des cinq niveaux. Le niveau par défaut est Normal. Le tableau ci-dessous décrit les niveaux.
| Level | Valeur hexadécimale | Comments |
|---|---|---|
| Normal (valeur par défaut) | 0x8 (facteur d’échelle 8) | Définissez la fenêtre de réception TCP pour qu’elle augmente pour prendre en charge presque tous les scénarios. |
| Disabled | Aucun facteur d’échelle disponible | Définissez la fenêtre de réception TCP à sa valeur par défaut. |
| Restricted | 0x4 (facteur d’échelle 4) | Définissez la fenêtre de réception TCP pour qu’elle augmente au-delà de sa valeur par défaut, mais limitez cette croissance dans certains scénarios. |
| Hautement restreint | 0x2 (facteur d’échelle 2) | Définissez la fenêtre de réception TCP pour qu’elle augmente au-delà de sa valeur par défaut, mais faites-le de manière très prudente. |
| Experimental | 0xE (facteur d’échelle 14) | Définissez la fenêtre de réception TCP pour augmenter pour répondre aux scénarios extrêmes. |
Si vous utilisez une application pour capturer des paquets réseau, l'application doit signaler des données qui ressemblent aux exemples suivants pour différents paramètres de niveau de réglage automatique de fenêtre.
Niveau de réglage automatique : Normal (état par défaut)
Cet exemple montre la sortie d’un outil de capture de paquets lorsque le niveau de mise en forme automatique de la fenêtre de réception TCP est défini sur Normal. Le facteur d'échelle est de 8.
Frame: Number = 492, Captured Frame Length = 66, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[D8-FE-E3-65-F3-FD],SourceAddress:[C8-5B-76-7D-FA-7F]
+ Ipv4: Src = 192.169.0.5, Dest = 192.169.0.4, Next Protocol = TCP, Packet ID = 2667, Total IP Length = 52
- Tcp: [Bad CheckSum]Flags=......S., SrcPort=60975, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=4075590425, Ack=0, Win=64240 ( Negotiating scale factor 0x8 ) = 64240
SrcPort: 60975
DstPort: Microsoft-DS(445)
SequenceNumber: 4075590425 (0xF2EC9319)
AcknowledgementNumber: 0 (0x0)
+ DataOffset: 128 (0x80)
+ Flags: ......S. ---------------------------------------------------------> SYN Flag set
Window: 64240 ( Negotiating scale factor 0x8 ) = 64240 ---------> TCP Receive Window set as 64K as per NIC Link bitrate. Note it shows the 0x8 Scale Factor.
Checksum: 0x8182, Bad
UrgentPointer: 0 (0x0)
- TCPOptions:
+ MaxSegmentSize: 1
+ NoOption:
+ WindowsScaleFactor: ShiftCount: 8 -----------------------------> Scale factor, defined by AutoTuningLevel
+ NoOption:
+ NoOption:
+ SACKPermitted:
Niveau de réglage automatique : Désactivé
Cet exemple montre la sortie d’un outil de capture de paquets lorsque le niveau de mise en forme automatique de la fenêtre de réception TCP est défini sur Désactivé. Le facteur d'échelle n'est pas utilisé.
Frame: Number = 353, Captured Frame Length = 62, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[D8-FE-E3-65-F3-FD],SourceAddress:[C8-5B-76-7D-FA-7F]
+ Ipv4: Src = 192.169.0.5, Dest = 192.169.0.4, Next Protocol = TCP, Packet ID = 2576, Total IP Length = 48
- Tcp: [Bad CheckSum]Flags=......S., SrcPort=60956, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=2315885330, Ack=0, Win=64240 ( ) = 64240
SrcPort: 60956
DstPort: Microsoft-DS(445)
SequenceNumber: 2315885330 (0x8A099B12)
AcknowledgementNumber: 0 (0x0)
+ DataOffset: 112 (0x70)
+ Flags: ......S. ---------------------------------------------------------> SYN Flag set
Window: 64240 ( ) = 64240 ----------------------------------------> TCP Receive Window set as 64K as per NIC Link bitrate. Note there is no Scale Factor defined. In this case, Scale factor is not being sent as a TCP Option, so it will not be used by Windows.
Checksum: 0x817E, Bad
UrgentPointer: 0 (0x0)
- TCPOptions:
+ MaxSegmentSize: 1
+ NoOption:
+ NoOption:
+ SACKPermitted:
Niveau de réglage automatique : Restreint
Cet exemple montre la sortie d’un outil de capture de paquets lorsque le niveau de mise en forme automatique de la fenêtre de réception TCP est défini sur Restricted. Le facteur d'échelle est de 4.
Frame: Number = 3, Captured Frame Length = 66, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[D8-FE-E3-65-F3-FD],SourceAddress:[C8-5B-76-7D-FA-7F]
+ Ipv4: Src = 192.169.0.5, Dest = 192.169.0.4, Next Protocol = TCP, Packet ID = 2319, Total IP Length = 52
- Tcp: [Bad CheckSum]Flags=......S., SrcPort=60890, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=1966088568, Ack=0, Win=64240 ( Negotiating scale factor 0x4 ) = 64240
SrcPort: 60890
DstPort: Microsoft-DS(445)
SequenceNumber: 1966088568 (0x75302178)
AcknowledgementNumber: 0 (0x0)
+ DataOffset: 128 (0x80)
+ Flags: ......S. ---------------------------------------------------------> SYN Flag set
Window: 64240 ( Negotiating scale factor 0x4 ) = 64240 ---------> TCP Receive Window set as 64K as per NIC Link bitrate. Note it shows the 0x4 Scale Factor.
Checksum: 0x8182, Bad
UrgentPointer: 0 (0x0)
- TCPOptions:
+ MaxSegmentSize: 1
+ NoOption:
+ WindowsScaleFactor: ShiftCount: 4 -------------------------------> Scale factor, defined by AutoTuningLevel.
+ NoOption:
+ NoOption:
+ SACKPermitted:
Niveau de réglage automatique : Très restreint
Cet exemple montre la sortie d’un outil de capture de paquets lorsque le niveau de mise en forme automatique de la fenêtre de réception TCP est défini sur Hautement restreint. Le facteur d'échelle est de 2.
Frame: Number = 115, Captured Frame Length = 66, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[D8-FE-E3-65-F3-FD],SourceAddress:[C8-5B-76-7D-FA-7F]
+ Ipv4: Src = 192.169.0.5, Dest = 192.169.0.4, Next Protocol = TCP, Packet ID = 2388, Total IP Length = 52
- Tcp: [Bad CheckSum]Flags=......S., SrcPort=60903, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=1463725706, Ack=0, Win=64240 ( Negotiating scale factor 0x2 ) = 64240
SrcPort: 60903
DstPort: Microsoft-DS(445)
SequenceNumber: 1463725706 (0x573EAE8A)
AcknowledgementNumber: 0 (0x0)
+ DataOffset: 128 (0x80)
+ Flags: ......S. ---------------------------------------------------------> SYN Flag set
Window: 64240 ( Negotiating scale factor 0x2 ) = 64240 ---------> TCP Receive Window set as 64K as per NIC Link bitrate. Note it shows the 0x2 Scale Factor.
Checksum: 0x8182, Bad
UrgentPointer: 0 (0x0)
- TCPOptions:
+ MaxSegmentSize: 1
+ NoOption:
+ WindowsScaleFactor: ShiftCount: 2 ------------------------------> Scale factor, defined by AutoTuningLevel
+ NoOption:
+ NoOption:
+ SACKPermitted:
Niveau de réglage automatique : Expérimental
Cet exemple montre la sortie d’un outil de capture de paquets lorsque le niveau de mise en forme automatique de la fenêtre de réception TCP est défini sur Expérimental. Le facteur d'échelle est de 14.
Frame: Number = 238, Captured Frame Length = 66, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[D8-FE-E3-65-F3-FD],SourceAddress:[C8-5B-76-7D-FA-7F]
+ Ipv4: Src = 192.169.0.5, Dest = 192.169.0.4, Next Protocol = TCP, Packet ID = 2490, Total IP Length = 52
- Tcp: [Bad CheckSum]Flags=......S., SrcPort=60933, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=2095111365, Ack=0, Win=64240 ( Negotiating scale factor 0xe ) = 64240
SrcPort: 60933
DstPort: Microsoft-DS(445)
SequenceNumber: 2095111365 (0x7CE0DCC5)
AcknowledgementNumber: 0 (0x0)
+ DataOffset: 128 (0x80)
+ Flags: ......S. ---------------------------------------------------------> SYN Flag set
Window: 64240 ( Negotiating scale factor 0xe ) = 64240 ---------> TCP Receive Window set as 64K as per NIC Link bitrate. Note it shows the 0xe Scale Factor.
Checksum: 0x8182, Bad
UrgentPointer: 0 (0x0)
- TCPOptions:
+ MaxSegmentSize: 1
+ NoOption:
+ WindowsScaleFactor: ShiftCount: 14 -----------------------------> Scale factor, defined by AutoTuningLevel
+ NoOption:
+ NoOption:
+ SACKPermitted:
Vérifier et configurer le niveau de mise en forme automatique de la fenêtre de réception TCP
Vous pouvez utiliser les applets de commande Windows PowerShell ou la commande Windows netsh pour passer en revue ou modifier le niveau de réglage automatique de la fenêtre de réception TCP.
Note
À compter de Windows Server 2019, vous ne pouvez plus utiliser le registre pour configurer la taille de la fenêtre de réception TCP. Pour plus d’informations sur les paramètres déconseillés, consultez Paramètres TCP dépréciés.
Vous pouvez utiliser l'applet de commande Get-NetTCPSetting pour passer en revue ou modifier le niveau de mise en forme automatique. Pour passer en revue et modifier le paramètre actuel :
Ouvrez PowerShell en tant qu'administrateur et exécutez l'applet de commande suivante :
Get-NetTCPSetting | Select SettingName,AutoTuningLevelLocalLe résultat ressemble à l’exemple suivant :
SettingName AutoTuningLevelLocal ----------- -------------------- Automatic InternetCustom Normal DatacenterCustom Normal Compat Normal Datacenter Normal Internet NormalPour modifier le paramètre, exécutez la commande suivante. Veillez à définir
<value>sur le niveau de réglage automatique souhaité. Pour plus d’informations, consultez Set-NetTCPSetting.Set-NetTCPSetting -AutoTuningLevelLocal <value>
Plateforme de filtrage Windows
La plateforme de filtrage Windows (WPF), introduite avec Windows Server 2008, fournit des API aux éditeurs de logiciels indépendants autres que Microsoft pour créer des filtres de traitement de paquets. Le WFP permet aux logiciels tiers d'inspecter, de modifier ou de filtrer le trafic réseau à différentes couches de la pile réseau. Bien que cette fonctionnalité soit essentielle pour les applications de sécurité, elle peut introduire une surcharge de performances si elle n'est pas implémentée correctement. Les logiciels pare-feu et antivirus en sont des exemples.
Un filtre WFP mal écrit peut réduire significativement les performances de mise en réseau d'un serveur. Pour plus d’informations, consultez Portage de paquets - Transférer les pilotes et applications vers le PAM dans le Centre de développement Windows.
Paramètres TCP dépréciés
Les paramètres de registre suivants de Windows Server 2003 ne sont plus pris en charge et sont ignorés dans les versions ultérieures.
- TcpWindowSize
- NumTcbTablePartitions
- MaxHashTableSize
Tous ces paramètres se trouvaient dans la sous-clé de registre suivante : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters