Dépannage des paquets de mise à jour de fenêtre zéro TCP envoyés par un nœud PowerScale

Summary: Cet article explique pourquoi les compteurs de fenêtre zéro à partir de la commande netstat sont générés. Il discute également des points d’intérêt possibles tout en recherchant et en enquêtant sur les raisons pour lesquelles ces valeurs augmentent. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

La sortie de l'
 'netstat -anT -p tcp'
à partir d’un nœud affiche le nombre de paquets de la fenêtre TCP zéro (colonne 0-win). Les valeurs de la colonne 0-win indiquent le nombre de fois où le nœud de la connexion TCP (adresse locale) à l’appareil distant (adresse étrangère) a envoyé un paquet de mise à jour de fenêtre zéro TCP. Cela se produit lorsque la fenêtre de réception TCP du nœud a été réduite à zéro ou à une taille trop faible pour contenir un segment de données de taille normale.
Exemple:
Cluster-1# netstat -anT -p tcp
Active Internet connections (including servers)
Proto Rexmit OOORcv 0-win  maxswnd maxseg     srtt   srtvar    rexmt  sndwnd sncwnd rcvwnd   delack SR SS ND AS Local Address          Foreign Address
tcp4       0      0   1001 2097920   1460     47ms     23ms    342ms 2097664 190488 131400     99ms  X  X  X  X 100.89.53.100.445       100.90.164.11.52765
...
Le résultat net est que l’appareil distant ne sera pas en mesure de transmettre les données, ce qui entraîne des retards entraînant une latence (d’écriture) élevée, jusqu’à ce que le nœud envoie une mise à jour de fenêtre TCP indiquant la quantité de données qu’il peut désormais recevoir. 
Dans la plupart des cas, les paquets de mise à jour de fenêtre zéro TCP envoyés par le nœud indiquent que l’application de réception (processus) sur le nœud (NFS, SMB, etc.) est lente à extraire les données de la mémoire tampon de réception. Cela peut être indiqué par une valeur cohérente différente de zéro affichée dans la colonne Recv-Q pour la connexion dans la sortie de l'
 'netstat -an tcp'
. Par exemple, exécutez la commande suivante plusieurs fois pour voir si le Recv-Q est constamment plein.
Exemple:
Cluster-1# netstat -an tcp
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address          Foreign Address        (state)
tcp4  131400      0 100.89.53.100.445       100.90.164.11.52765    ESTABLISHED
...
Il s’agit d’un compteur en temps réel, cette commande doit donc être exécutée pendant que les paquets de mise à jour de fenêtre TCP zéro sont envoyés par le nœud pour la connexion. Vous trouverez ci-dessous un exemple de script pour récupérer des statistiques en direct à partir de :
  • Recv
  • Envoyer des questions
  • Hors commandes (OOO)
  • Zero Windows (0 victoire)
  • Retransmet
# mkdir /ifs/data/Isilon_Support/$(date +%d-%m-%Y)/
echo; while sleep 10 ; do echo "######### Live Send Rec Queue Q: #########"; date ; netstat -an4x -p tcp | awk '{ if (( $2 != 0 ) || ($3 != 0)) print $0 }'; echo; sleep 1; echo "######### Live OoO / 0-win / Retrans: #########" ; date; netstat -an4T -p tcp | awk '{ if (( $2 != 0 ) || ($3 != 0) || ($4 != 0)) print $0 }'; done >> `hostname`.TCP_specs.out
Un Recv-Q constamment élevé signifie que les données ont été placées sur le tampon de réception, mais que l’application n’a pas appelé recv() pour les copier du tampon de réception vers le tampon de l’application. Cela indique que l’application est surchargée ou incapable de traiter les données entrantes en temps voulu. Dès que les données arrivent dans la file d’attente de réception, elles doivent être traitées immédiatement. Si l’application ne le fait pas, on lui demande d’effectuer plus de travail qu’elle ne peut en gérer. 
En résumé, si la valeur Recv-Q reste élevée pour la connexion alors que des paquets de mise à jour TCP zero window sont envoyés pour la connexion, une enquête sur les goulots d’étranglement doit être effectuée au niveau de l’application réceptrice, du processeur, des disques, etc.
Si la valeur Recv-Q reste à zéro pour la connexion, alors les paquets de mise à jour de fenêtre TCP zéro envoyés par le nœud peuvent également indiquer que la fenêtre de réception TCP du côté nœud de la connexion est trop faible pour commencer pour le produit de délai de bande passante (BDP) de la connexion entre le nœud et la destination distante, et certains réglages TCP du nœud peuvent nécessiter d’être pris en compte.

Additional Information

Pour plus d’informations, reportez-vous à la section « Latence, bande passante et débit » du guide suivant :

https://www.delltechnologies.com/asset/en-us/products/storage/industry-market/h16463-isilon-advanced-networking-fundamentals.pdf

Affected Products

PowerScale OneFS
Article Properties
Article Number: 000221738
Article Type: How To
Last Modified: 19 Apr 2024
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.