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

摘要: 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. ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

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.

其他信息

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

受影响的产品

PowerScale OneFS
文章属性
文章编号: 000221738
文章类型: How To
上次修改时间: 19 4月 2024
版本:  2
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。