Comment régler les options avancées des cartes réseaux pour en améliorer les performances
Les réseaux Ethernet sont souvent à la peine lorsqu’ils sont confrontés aux charges de travail des datacenters actuels, mais de nouvelles solutions se font jour pour améliorer les performances.
Quelques options des cartes réseau modernes peuvent aider les professionnels de l’informatique à améliorer les performances du réseau pour des serveurs clés.
Ethernet est la technologie de réseau qui domine dans les datacenters et les réseaux locaux (LAN), mais elle gère souvent difficilement les charges de travail actuelles induites par les données de stockage et la voix et la vidéo en temps réel. Ethernet est conçu pour un monde où les transferts de fichiers sont simples et où les petits paquets de données s’appuient sur la contention pour donner accès au réseau. Même avec une bande passante considérablement élargie, Ethernet peut s’avérer peu efficace pour le trafic prioritaire vulnérable à la perte de paquets.
Les cartes réseau, que l’on appelle parfois contrôleurs réseau ou NIC, évoluent. Plus intelligentes et comptant davantage de fonctionnalités, elles dynamisent les performances réseau avec leur capacité à prendre en charge les trames Jumbo et le délestage, le marquage de paquets, les ajustements de mise en mémoire et de délai et bien plus encore. Toutefois, certaines de ces fonctionnalités doivent être utilisées avec précaution dans le cadre d’un datacenter.
Utilisation efficace du processeur : prise en charge des trames Jumbo contre capacités de délestage
Si les performances serveur subissent des lenteurs, peut-être est-ce dû à des charges de travail gourmandes en ressources réseau. Les paquets Ethernet standards font 1542 octets : la plupart des fichiers sont fractionnés en centaines, milliers voire millions de paquets ou trames. Ces petits paquets, transférés un par un sur le réseau, font une utilisation efficace du câblage et partagent le réseau avec une multitude de noeuds, mais l’envoi et la réception de chaque trame ajoute à la charge du processeur.
La plupart des cartes réseau prennent en charge les trames Jumbo, ce qui revient à dire qu’elles gèrent des paquets ou trames allant jusqu’à 9000 octets. Les trames Jumbo contiennent davantage de données dans chaque paquet : il y a besoin de moins de paquets pour transporter les données dans tout le réseau. Le débit augmente puisque les besoins de traitement, pour les en-têtes de paquets et les autres contenus de paquets, diminuent, le processeur est ainsi considérablement moins sollicité.
Le recours aux trames Jumbo présente toutefois des inconvénients. Pour assurer la bonne communication des noeuds entre eux, l’administrateur doit configurer chaque noeud du réseau pour qu’il prenne en charge les trames jumbo. Les trames Jumbo ne sont pas dans la norme IEEE : différentes cartes réseau configurent les tailles de trames Jumbo différemment. Il faudra sans doute faire quelques essais pour trouver la configuration adéquate de chaque noeud pour la prise en charge des trames jumbo. De plus, si les paquets sont plus volumineux, des délais de latence peuvent apparaître pour certaines charges puisque les autres noeuds attendent plus longtemps avant d’accéder au câble, et la réclamation et le renvoi des paquets abandonnés ou corrompus prendra plus de temps.
Les professionnels de l’informatique peuvent renoncer aux trames Jumbo et leur préférer les cartes réseau dotées de capacités de délestage des envois importants (LSO) et des paquets en réception (LRO). Ces capacités LSO et LRO permettent au processeur de transférer de plus grands volumes de données vers (en sortie) et de (en entrée) la carte réseau en réduisant considérablement le traitement. On obtient une amélioration des performances du processeur comparable à celle du recours aux trames Jumbo.
Capacité et trafic : délai ajustable entre trames contre mises à niveau Ethernet
Ethernet patiente pendant une durée donnée entre chaque envoi de paquet. Ce délai s’appelle espace inter-trame. Ce mécanisme donne l’occasion aux autres noeuds de s’emparer du câble et d’envoyer un paquet. L’espace inter-trame est égal au temps nécessaire à la transmission de 96 bits sur le câble. Par exemple, 1 gigabit Ethernet utilise un espace inter-trame standard de 0,096 microseconde et 10 gigabits Ethernet utilisent un dixième de ce temps, soit 0,0096 microseconde.
Cet espacement fixe entre deux tentatives de transmission n’est pas toujours efficace et peut dégrader les performances en cas de trafic intense. Les cartes réseau qui prennent en charge l’espace inter-trame adaptatif peuvent l’adapter en fonction selon l’état du trafic réseau et améliorer au passage les performances dudit réseau. L’ajustement de l’espace inter-trame n’apporte que de modestes avantages en termes de performances du réseau si vous êtes loin d’utiliser toute la bande passante.
Une évaluation comparative approfondie des performances du réseau peut faire apparaître les tendances d’utilisation. Si le lien Ethernet atteint fréquemment sa capacité maximale, la mise à niveau vers un lien Ethernet plus rapide ou l’implémentation de l’association de cartes réseau fournira une solution à plus long terme que l’ajustement de l’espace inter-trame.
Limiter les interruptions pour améliorer les performances du processeur
À des vitesses Ethernet supérieures, le taux des interruptions CPU augmente et le processeur doit accorder davantage d’attention aux pilotes réseau et aux autres logiciels qui traitent des paquets. En cas de trafic en dents de scie à grande amplitude, les performances du processeur peuvent devenir imprévisibles. Les cartes réseau qui prennent en charge la modération des interruptions (interrupt throttling) réduisent artificiellement le taux d’interruption CPU. Le processeur n’est plus esclave des interruptions illimitées en provenance des cartes réseau et les performances CPU peuvent s’en trouver améliorées.
Et aussi
Une plus grande modération des interruptions n’entraîne pas systématiquement une amélioration. Vous risquez de réduire la réactivité d’un processeur en régulant les interruptions, car le processeur mettra plus longtemps à gérer toutes les interruptions générées. Combinée à un taux élevé de petits paquets arrivant quasiment en temps réel, la modération des interruptions dégrade les performances au lieu de les améliorer. Testez les performances du réseau et du processeur dans divers modes de modération des interruptions jusqu’à obtenir une réactivité adéquate du système tout en limitant les demandes d’interruption envoyées au processeur.
Envisagez également d’utiliser des cartes réseau dotées de capacités de délestage TCP/IP qui peuvent gérer directement de nombreuses tâches gourmandes en ressources processeur et ainsi réduire les demandes d’interruption envoyées au processeur.
Hiérarchiser les types de données chronosensibles : activer le marquage de paquets
Les types de données chronosensibles comme la voix sur IP (VoIP) ou la vidéo sont souvent traités comme un trafic prioritaire par rapport aux transferts de fichiers simples, mais le réseau traite indifféremment chaque paquet qui se trouve sur le câble. L’implémentation du marquage de paquets est activée. Le système d’exploitation, par exemple Windows Server 2012, peut alors classer les paquets marqués dans une file d’attente et donner la priorité au traitement des paquets de vidéo et de VoIP sur celui des paquets moins urgents. Le marquage de paquets joue un rôle déterminant dans les stratégies de qualité de service (QoS). Il est essentiel dans la plupart des déploiements de réseaux locaux virtuels (VLAN).
N’appliquez les modifications aux cartes réseau que si les performances du réseau descendent au-dessous de points de référence donnés et déployez-les après des tests contrôlés incluant le benchmarking des serveurs et des cartes réseau. Ces réglages n’amèneront pas les améliorations considérables qu’apporterait un remaniement complet du réseau, mais cette solution n’est pas dépendante de contraintes budgétaires ou logistiques. Évaluez l’évolution des performances du réseau au fil du temps et restez attentif à toute conséquence imprévue comme une amélioration d’un côté qui se ferait au détriment d’autres charges de travail.