Problemen oplossen met TCP zero window-updatepakketten die door een PowerScale knooppunt worden verzonden
Zusammenfassung: In dit artikel wordt de reden voor nul venstertellers van de opdracht netstat beschreven. Ook wordt ingegaan op mogelijke aandachtspunten tijdens het onderzoeken en onderzoeken waarom deze waarden toenemen. ...
Dieser Artikel gilt für
Dieser Artikel gilt nicht für
Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden.
In diesem Artikel werden nicht alle Produktversionen aufgeführt.
Weisungen
De output van de
Voorbeeld:
In de meeste gevallen geven TCP-updatepakketten met een nulvenster die door het knooppunt worden verzonden, aan dat de ontvangende toepassing (proces) op het knooppunt (NFS, SMB, enz.) traag is met het ophalen van data uit de ontvangstbuffer. Dit kan worden aangegeven door een consistente niet-nulwaarde die te zien is in de kolom Recv-Q voor de verbinding in de uitgang van de
Voorbeeld:
Samenvattend: als de Recv-Q-waarde voor de verbinding hoog blijft terwijl TCP zero window-updatepakketten voor de verbinding worden verzonden, moet een onderzoek naar knelpunten worden uitgevoerd bij de ontvangende applicatie, CPU, schijven, enz.
Als de Recv-Q-waarde voor de verbinding op nul blijft, kunnen TCP-updatepakketten voor het nulvenster die door het knooppunt worden verzonden, er ook op wijzen dat het TCP-ontvangstvenster aan de knooppuntzijde van de verbinding te laag is om mee te beginnen voor het bandbreedtevertragingsproduct (BDP) van de verbinding tussen het knooppunt en de externe bestemming, en moeten sommige TCP-afstemmingen van knooppunten mogelijk in overweging worden genomen.
'netstat -anT -p tcp'opdracht van een knooppunt toont een aantal TCP-vensterpakketten met nul (kolom 0-win). De waarden in de kolom 0-win geven het aantal keren aan dat het knooppunt van de TCP-verbinding (lokaal adres) naar het externe apparaat (buitenlands adres) een TCP-updatepakket voor het nulvenster heeft verzonden. Dit gebeurt wanneer het TCP-ontvangstvenster van het knooppunt is teruggebracht tot nul of tot een grootte die te laag is voor een gegevenssegment op volledige grootte.
Voorbeeld:
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 ...Het netto resultaat hiervan is dat het externe apparaat geen gegevens kan verzenden, waardoor vertragingen ontstaan die resulteren in verhoogde (schrijf)latentie, totdat het knooppunt een TCP-vensterupdate verzendt die aangeeft hoeveel gegevens het nu kan ontvangen.
In de meeste gevallen geven TCP-updatepakketten met een nulvenster die door het knooppunt worden verzonden, aan dat de ontvangende toepassing (proces) op het knooppunt (NFS, SMB, enz.) traag is met het ophalen van data uit de ontvangstbuffer. Dit kan worden aangegeven door een consistente niet-nulwaarde die te zien is in de kolom Recv-Q voor de verbinding in de uitgang van de
'netstat -an tcp'Opdracht. Bijvoorbeeld door de volgende opdracht meerdere keren uit te voeren om te zien of de Recv-Q constant vol is.
Voorbeeld:
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
... Dit is een teller in realtime, dus deze opdracht moet worden uitgevoerd terwijl TCP zero window-updatepakketten worden verzonden door het knooppunt voor de verbinding. Hieronder volgt een voorbeeldscript om live statistieken uit op te halen:
- Recv
- Send-Q's
- Out of Orders (OOO)
- Nul Windows (0-win)
- Zendt opnieuw uit
# 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 Een constant verhoogde Recv-Q betekent dat de gegevens op de ontvangstbuffer zijn gezet, maar dat de applicatie recv() niet heeft aangeroepen om deze van de ontvangstbuffer naar de toepassingsbuffer te kopiëren. Dit is een indicatie dat de applicatie overbelast is of anderszins niet in staat is om binnenkomende data tijdig te verwerken. Zodra gegevens in de ontvangstwachtrij binnenkomen, moeten deze onmiddellijk worden verwerkt, als de applicatie dat niet doet, wordt er meer werk van hem gevraagd dan hij aankan.
Samenvattend: als de Recv-Q-waarde voor de verbinding hoog blijft terwijl TCP zero window-updatepakketten voor de verbinding worden verzonden, moet een onderzoek naar knelpunten worden uitgevoerd bij de ontvangende applicatie, CPU, schijven, enz.
Als de Recv-Q-waarde voor de verbinding op nul blijft, kunnen TCP-updatepakketten voor het nulvenster die door het knooppunt worden verzonden, er ook op wijzen dat het TCP-ontvangstvenster aan de knooppuntzijde van de verbinding te laag is om mee te beginnen voor het bandbreedtevertragingsproduct (BDP) van de verbinding tussen het knooppunt en de externe bestemming, en moeten sommige TCP-afstemmingen van knooppunten mogelijk in overweging worden genomen.
Weitere Informationen
Zie het gedeelte 'Latentie, bandbreedte en doorvoer' van de volgende handleiding voor meer informatie:
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
Betroffene Produkte
PowerScale OneFSArtikeleigenschaften
Artikelnummer: 000221738
Artikeltyp: How To
Zuletzt geändert: 19 Apr. 2024
Version: 2
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.