Partage via


Choix d’une carte réseau

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI versions 21H2 et 20H2

Vous pouvez utiliser cette rubrique pour découvrir certaines des fonctionnalités des adaptateurs réseau qui peuvent affecter vos choix d’achat.

Les applications gourmandes en réseau nécessitent des cartes réseau hautes performances. Cette section explore certaines considérations relatives au choix des adaptateurs réseau, ainsi que la façon de configurer différents paramètres d’adaptateur réseau pour obtenir les meilleures performances réseau.

Conseil

Vous pouvez configurer les paramètres d’adaptateur réseau à l’aide de Windows PowerShell. Pour plus d’informations, consultez Applets de commande d’adaptateurs réseau dans Windows PowerShell.

Fonctionnalités de déchargement

Le déchargement des tâches de l’unité de traitement centrale (UC) vers l’adaptateur réseau peut réduire l’utilisation du processeur sur le serveur, ce qui améliore les performances globales du système.

La pile réseau dans les produits Microsoft peut décharger une ou plusieurs tâches sur un adaptateur réseau si vous sélectionnez un adaptateur réseau qui dispose des fonctionnalités de déchargement appropriées. Le tableau suivant fournit une brève vue d’ensemble des différentes fonctionnalités de déchargement disponibles dans Windows Server 2016.

Type de déchargement Description
Calcul de la somme de contrôle pour TCP La pile réseau peut décharger le calcul et la validation des sommes de contrôle TCP (Transmission Control Protocol) sur les chemins d’envoi et de réception du code. Il peut également décharger le calcul et la validation des sommes de contrôle IPv4 et IPv6 sur les chemins d’envoi et de réception du code.
Calcul de la somme de contrôle pour UDP La pile réseau peut décharger le calcul et la validation des sommes de contrôle UDP (User Datagram Protocol) sur les chemins d’accès d’envoi et de réception du code.
Calcul de la somme de contrôle pour IPv4 La pile réseau peut décharger le calcul et la validation des sommes de contrôle IPv4 sur les chemins d’envoi et de réception du code.
Calcul de la somme de contrôle pour IPv6 La pile réseau peut décharger le calcul et la validation des sommes de contrôle IPv6 sur les chemins d’accès au code d’envoi et de réception.
Segmentation des paquets TCP volumineux La couche de transport TCP/IP prend en charge le déchargement d’envoi volumineux v2 (LSOv2). Avec LSOv2, la couche de transport TCP/IP peut décharger la segmentation de paquets TCP volumineux sur la carte réseau.
Receive Side Scaling (RSS) RSS est une technologie de pilote réseau qui permet une distribution efficace du traitement des réceptions réseau entre plusieurs processeurs dans les systèmes multiprocesseurs. Plus de détails sur RSS sont fournis plus loin dans cette rubrique.
Receive Segment Coalescing (RSC) RSC est la possibilité de regrouper les paquets afin de réduire le traitement d’en-tête nécessaire à l’exécution de l’hôte. Un maximum de 64 Ko de charge utile reçue peut être fusionné en un seul paquet plus grand pour le traitement. Plus de détails sur RSC sont fournis plus loin dans cette rubrique.

Partage du trafic entrant

Windows Server 2016, Windows Server 2012, Windows Server 2012 R2, Windows Server 2008 R2, et Windows Server 2008 prennent en charge le partage du trafic entrant (RSS, Receive Side Scaling).

Certains serveurs sont configurés avec plusieurs processeurs logiques qui partagent des ressources matérielles (comme un cœur physique) et qui sont traités comme des homologues multithreading (SMT) simultanés. La technologie Intel Hyper-Threading en est un exemple. RSS dirige le traitement réseau vers jusqu’à un processeur logique par cœur. Par exemple, sur un serveur avec Intel Hyper-Threading, 4 cœurs et 8 processeurs logiques, RSS n’utilise pas plus de 4 processeurs logiques pour le traitement réseau.

RSS distribue les paquets d’E/S réseau entrants entre les processeurs logiques afin que les paquets qui appartiennent à la même connexion TCP soient traités sur le même processeur logique, ce qui préserve l’ordre.

RSS équilibre également la charge du trafic de monodiffusion et de multidiffusion UDP, et achemine les flux associés (qui sont déterminés par le hachage des adresses source et de destination) vers le même processeur logique, en conservant l’ordre des arrivées associées. Cela permet d’améliorer la scalabilité et les performances des scénarios nécessitant beaucoup de réception pour les serveurs qui ont moins d’adaptateurs réseau que les processeurs logiques éligibles.

Configuration de RSS

Dans Windows Server 2016, vous pouvez configurer RSS à l’aide d’applets de commande Windows PowerShell et de profils RSS.

Vous pouvez définir des profils RSS à l’aide du paramètre –Profile de l’applet de commande Set-NetAdapterRss Windows PowerShell.

Commandes Windows PowerShell pour la Configuration RSS

Les applets de commande suivantes vous permettent de voir et de modifier les paramètres RSS par adaptateur réseau.

Remarque

Pour obtenir une référence de commande détaillée pour chaque applet de commande, y compris la syntaxe et les paramètres, vous pouvez cliquer sur les liens suivants. En outre, vous pouvez passer le nom de l’applet de commande à Get-Help à l’invite Windows PowerShell pour plus d’informations sur chaque commande.

  • Disable-NetAdapterRss. Cette commande désactive RSS sur l’adaptateur réseau que vous spécifiez.

  • Enable-NetAdapterRss. Cette commande active RSS sur l’adaptateur réseau que vous spécifiez.

  • Get-NetAdapterRss. Cette commande récupère les propriétés RSS de la carte réseau que vous spécifiez.

  • Set-NetAdapterRss. Cette commande définit les propriétés RSS sur l’adaptateur réseau que vous spécifiez.

Profils RSS

Vous pouvez utiliser le paramètre –Profile de l’applet de commande Set-NetAdapterRss pour spécifier les processeurs logiques affectés à quel adaptateur réseau. Les valeurs disponibles pour ce paramètre sont les suivantes :

  • Le plus proche. Les numéros de processeur logiques proches du processeur RSS de base de l’adaptateur réseau sont préférés. Avec ce profil, le système d’exploitation peut rééquilibrer les processeurs logiques dynamiquement en fonction de la charge.

  • ClosestStatic. Les numéros de processeur logiques proches du processeur RSS de base de l’adaptateur réseau sont préférés. Avec ce profil, le système d’exploitation ne rééquilibrée pas dynamiquement les processeurs logiques en fonction de la charge.

  • NUMA. Les numéros de processeur logique sont généralement sélectionnés sur différents nœuds NUMA pour distribuer la charge. Avec ce profil, le système d’exploitation peut rééquilibrer les processeurs logiques dynamiquement en fonction de la charge.

  • NUMAStatic. Il s’agit du profil par défaut. Les numéros de processeur logique sont généralement sélectionnés sur différents nœuds NUMA pour distribuer la charge. Avec ce profil, le système d’exploitation ne rééquilibrera pas dynamiquement les processeurs logiques en fonction de la charge.

  • Conservative. RSS utilise le moins de processeurs possible pour gérer la charge. Cette option aide à réduire le nombre d’interruptions.

Selon le scénario et les caractéristiques de la charge de travail, vous pouvez également utiliser d’autres paramètres de l’applet de commande Set-NetAdapterRss Windows PowerShell pour spécifier les éléments suivants :

  • Par carte réseau, combien de processeurs logiques peuvent être utilisés pour RSS.
  • Décalage de départ de la plage de processeurs logiques.
  • Nœud à partir duquel la carte réseau alloue de la mémoire.

Voici les paramètres Set-NetAdapterRss supplémentaires que vous pouvez utiliser pour configurer RSS :

Remarque

Dans l’exemple de syntaxe de chaque paramètre ci-dessous, le nom de carte réseau Ethernet est utilisé comme exemple de valeur pour le paramètre –Name de la commande Set-NetAdapterRss . Lorsque vous exécutez l’applet de commande, vérifiez que le nom de la carte réseau que vous utilisez est approprié pour votre environnement.

  • * MaxProcessors : définit le nombre maximal de processeurs RSS à utiliser. Cela garantit que le trafic d’application est lié à un nombre maximal de processeurs sur une interface donnée. Exemple de syntaxe :

    Set-NetAdapterRss –Name "Ethernet" –MaxProcessors <value>

  • * BaseProcessorGroup : définit le groupe de processeurs de base d’un nœud NUMA. Cela a un impact sur le tableau de processeurs utilisé par RSS. Exemple de syntaxe :

    Set-NetAdapterRss –Name "Ethernet" –BaseProcessorGroup <value>

  • * MaxProcessorGroup: définit le groupe de processeurs Max d’un nœud NUMA. Cela a un impact sur le tableau de processeurs utilisé par RSS. Cette définition restreindrait un groupe de processeurs maximal afin que l’équilibrage de charge soit aligné dans un groupe k. Exemple de syntaxe :

    Set-NetAdapterRss –Name "Ethernet" –MaxProcessorGroup <value>

  • * BaseProcessorNumber : définit le numéro de processeur de base d’un nœud NUMA. Cela a un impact sur le tableau de processeurs utilisé par RSS. Cela permet de partitionner des processeurs sur plusieurs cartes réseau. Il s’agit du premier processeur logique dans la plage de processeurs RSS qui est affecté à chaque adaptateur. Exemple de syntaxe :

    Set-NetAdapterRss –Name "Ethernet" –BaseProcessorNumber <Byte Value>

  • * NumaNode : nœud NUMA à partir duquel chaque carte réseau peut allouer de la mémoire. Il peut s’agir d’un k-groupe ou de k-groupes différents. Exemple de syntaxe :

    Set-NetAdapterRss –Name "Ethernet" –NumaNodeID <value>

  • * NumberofReceiveQueues : Si vos processeurs logiques semblent être sous-utilisés pour le trafic de réception (par exemple, dans le Gestionnaire des tâches), vous pouvez essayer d'augmenter le nombre de files d’attente RSS de la valeur par défaut de 2 au maximum supporté par votre adaptateur réseau. Votre adaptateur réseau peut proposer des options permettant de changer le nombre de files d'attente RSS dans le pilote. Exemple de syntaxe :

    Set-NetAdapterRss –Name "Ethernet" –NumberOfReceiveQueues <value>

Pour plus d’informations, cliquez sur le lien suivant pour télécharger Mise en réseau scalable : élimination du goulot d’étranglement du traitement de réception — Présentation de RSS au format Word.

Présentation des performances RSS

Le paramétrage RSS nécessite de comprendre la configuration et la logique d’équilibrage de charge. Pour vérifier que les paramètres RSS ont pris effet, vous pouvez consulter la sortie lorsque vous exécutez l’applet de commande Get-NetAdapterRss Windows PowerShell. Voici un exemple de sortie de cette applet de commande.


PS C:\Users\Administrator> get-netadapterrss
Name                           : testnic 2
InterfaceDescription           : Broadcom BCM5708C NetXtreme II GigE (NDIS VBD Client) #66
Enabled                        : True
NumberOfReceiveQueues          : 2
Profile                        : NUMAStatic
BaseProcessor: [Group:Number]  : 0:0
MaxProcessor: [Group:Number]   : 0:15
MaxProcessors                  : 8

IndirectionTable: [Group:Number]:
     0:0    0:4    0:0    0:4    0:0    0:4    0:0    0:4
…
(# indirection table entries are a power of 2 and based on # of processors)
…
                          0:0    0:4    0:0    0:4    0:0    0:4    0:0    0:4

Outre l’écho des paramètres qui ont été définis, l’aspect clé de la sortie est la sortie de la table d’indirection. La table d’indirection affiche les compartiments de table de hachage utilisés pour distribuer le trafic entrant. Dans cet exemple, la notation n:c désigne la paire d’index Numa K-Group:CPU utilisée pour diriger le trafic entrant. Nous voyons exactement 2 entrées uniques (0:0 et 0:4), qui représentent respectivement k-group 0/cpu0 et k-group 0/cpu 4.

Il n’existe qu’un k-group pour ce système (k-group 0) et une entrée de table d’indirection n (où n <= 128). Étant donné que le nombre de files d’attente de réception est défini sur 2, seuls 2 processeurs (0:0, 0:4) sont choisis, même si le nombre maximal de processeurs est défini sur 8. En effet, la table d’indirection hachage le trafic entrant pour utiliser uniquement 2 processeurs sur les 8 disponibles.

Pour utiliser pleinement les processeurs, le nombre de files d’attente de réception RSS doit être égal ou supérieur au nombre maximal de processeurs. Dans l’exemple précédent, la file d’attente de réception doit être définie sur 8 ou plus.

Association d’adaptateurs réseau et RSS

RSS peut être activé sur un adaptateur réseau qui est associé à un autre adaptateur d’interface réseau à l’aide de l’association d’adaptateurs réseau. Dans ce scénario, seule l’adaptateur réseau physique sous-jacent peut être configuré pour utiliser RSS. Un utilisateur ne peut pas définir d’applets de commande RSS sur l’adaptateur réseau associé.

Receive Segment Coalescing (RSC)

Receive Segment Coalescing (RSC) améliore les performances en réduisant le nombre d’en-têtes IP qui sont traités pour une quantité donnée de données reçues. Il doit être utilisé pour aider à mettre à l’échelle les performances des données reçues en regroupant (ou en fusionnant) les paquets plus petits en unités plus grandes.

Cette approche peut affecter la latence avec des avantages principalement observés dans les gains de débit. RSC est recommandé pour augmenter le débit pour les charges de travail lourdes reçues. Envisagez de déployer des adaptateurs réseau qui prennent en charge RSC.

Sur ces cartes réseau, assurez-vous que RSC est activé (il s’agit du paramètre par défaut), sauf si vous avez des charges de travail spécifiques (par exemple, une faible latence, un réseau à faible débit) qui montrent que RSC est désactivé.

Présentation des diagnostics RSC

Vous pouvez diagnostiquer RSC à l’aide des applets de commande Windows PowerShell Get-NetAdapterRsc et Get-NetAdapterStatistics.

Voici un exemple de sortie lorsque vous exécutez l’applet de commande Get-NetAdapterRsc.


PS C:\Users\Administrator> Get-NetAdapterRsc

Name                       IPv4Enabled  IPv6Enabled  IPv4Operational IPv6Operational               IPv4FailureReason              IPv6Failure
                                            Reason
----                           -----------  -----------  --------------- --------------- ----------------- ------------
Ethernet                       True         False        True            False                  NoFailure       NicProperties

L’applet de commande Get indique si RSC est activé dans l’interface et si TCP permet à RSC d’être dans un état opérationnel. La raison de l’échec fournit des détails sur l’échec d’activation de RSC sur cette interface.

Dans le scénario précédent, IPv4 RSC est pris en charge et opérationnel dans l’interface. Pour comprendre les échecs de diagnostic, vous pouvez voir les octets fusionnés ou les exceptions provoqués. Cela donne une indication des problèmes de fusion.

Voici un exemple de sortie lorsque vous exécutez l’applet de commande Get-NetAdapterStatistics.

PS C:\Users\Administrator> $x = Get-NetAdapterStatistics "myAdapter"
PS C:\Users\Administrator> $x.rscstatistics

CoalescedBytes       : 0
CoalescedPackets     : 0
CoalescingEvents     : 0
CoalescingExceptions : 0

RSC et virtualisation

RSC est uniquement pris en charge dans l’hôte physique lorsque l’adaptateur réseau hôte n’est pas lié au commutateur virtuel Hyper-V. RSC est désactivé par le système d’exploitation lorsque l’hôte est lié au commutateur virtuel Hyper-V. En outre, les machines virtuelles ne bénéficient pas de RSC, car les adaptateurs réseau virtuels ne prennent pas en charge RSC.

RSC peut être activé pour une machine virtuelle lorsque la virtualisation d’entrée/sortie racine unique (SR-IOV) est activée. Dans ce cas, les fonctions virtuelles prennent en charge la fonctionnalité RSC ; par conséquent, les machines virtuelles bénéficient également de RSC.

Ressources des adaptateurs réseau

Quelques adaptateurs réseau gèrent activement leurs ressources pour obtenir des performances optimales. Plusieurs adaptateurs réseau vous permettent de configurer manuellement des ressources à l’aide de l’onglet Réseau avancé de l’adaptateur. Pour ces adaptateurs, vous pouvez définir les valeurs d’un certain nombre de paramètres, y compris le nombre de mémoires tampons de réception et d’envoi de mémoires tampons.

La configuration des ressources d’adaptateur réseau est simplifiée par l’utilisation des applets de commande Windows PowerShell suivantes.

Pour plus d’informations, consultez Applets de commande d’adaptateurs réseau dans Windows PowerShell.

Pour obtenir des liens vers toutes les rubriques de ce guide, consultez Réglage des performances du sous-système réseau.