Avez-vous déjà constaté que votre serveur SQL perd des paquets ou connaît une latence réseau lorsque le trafic réseau est au minimum? Ou peut-être en cherchant dans les fichiers journaux seulement pour trouver les journaux d’erreurs suivants énumérés ci-dessous.
Tous les planificateurs sur le nœud 0 semblent bloqués en raison d’un grand nombre de threads de travail en attente de ASYNC_NETWORK_IO. Utilisation du procédé 0%.
Cette erreur particulière est due à des erreurs d’espace tampon réseau. La carte réseau transmet des données plus rapidement qu’elle ne peut recevoir de données. L’application SQL envoie des paquets réseau à l’adresse de bouclage, mais l’espace tampon du récepteur NIC local est insuffisant.
Cela peut être expliqué plus en détail dans les articles suivants énumérés ci-dessous.
https://www.sqlservercentral.com/forums/topic/large-async_network_io-waits-why
Vous vous demandez probablement ce que sont les descripteurs de réception et de transmission, ce sont des paramètres que l’on trouve sur certaines cartes réseau qui peuvent être manipulées si nécessaire pour accueillir le trafic réseau.
Recevoir des descripteurs
Définit le nombre de tampons utilisés par le pilote lors de la copie des données dans la mémoire du protocole. L’augmentation de cette valeur peut améliorer les performances de réception, mais consomme également de la mémoire système.
Les descripteurs de réception sont des segments de données qui permettent à l’adaptateur d’allouer les paquets reçus à la mémoire. Chaque paquet reçu nécessite un descripteur de réception, et chaque descripteur utilise 2 Ko de mémoire.
Transmettre les descripteurs
Définit le nombre de descripteurs de transmission, qui sont des segments de données qui permettent à l’adaptateur de suivre les paquets de transmission dans la mémoire système. Selon la taille du paquet, chaque paquet de transmission nécessite un ou plusieurs descripteurs de transmission.
Vous pouvez choisir d’augmenter le nombre de descripteurs de transmission si vous remarquez un problème avec les performances de transmission. L’augmentation du nombre de descripteurs de transmission peut améliorer les performances de transmission. Cependant, les descripteurs de transmission consomment de la mémoire système. Si la performance de transmission n’est pas un problème, utilisez le paramètre par défaut.
Où se trouvent ces descripteurs sur une carte réseau? Ils sont représentés dans les captures d’écran ci-dessous. (cliquez sur les images pour les agrandir)
![]() |
![]() |
![]() |
![]() |
Les grandes différences dans les deux tailles de mémoire tampon peuvent contribuer au goulot d’étranglement du réseau sur la carte réseau. La plupart des adaptateurs semblent s’être configurés d’une manière spécifique, mais pourraient devoir être modifiés à un moment donné pour éviter les erreurs d’espace tampon réseau.
Pour corriger cette erreur d’espace tampon, augmentez la mémoire tampon de réception de 256 à 512 ou 504, cela utilisera une partie de la mémoire physique sur le serveur, mais devrait augmenter les performances réseau sur la carte réseau.