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'
Exemple:
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'
Exemple:
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.
'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
https://www.delltechnologies.com/asset/en-us/products/storage/industry-market/h16463-isilon-advanced-networking-fundamentals.pdf
Affected Products
PowerScale OneFSArticle 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.