Odstraňování problémů s pakety aktualizace nulového okna TCP odesílanými uzlem PowerScale

摘要: Tento článek popisuje důvod nulových čítačů oken z příkazu netstat. Pojednává také o možných bodech zájmu a zároveň zkoumá a zkoumá, proč se tyto hodnoty zvyšují.

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

说明

Výstupem příkazu
 'netstat -anT -p tcp'
příkaz z uzlu zobrazí počet paketů TCP s nulovým oknem (sloupec 0-win). Hodnoty ve sloupci 0-win udávají, kolikrát uzel připojení TCP (místní adresa) vzdálenému zařízení (cizí adresa) odeslal paket aktualizace nulového okna protokolu TCP. K tomu dochází, když bylo okno pro příjem protokolu TCP uzlu zmenšeno na nulu nebo na velikost příliš malou na to, aby se do ní vešel datový segment v plné velikosti.
Příklad:
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
...
Čistým výsledkem toho je, že vzdálené zařízení nebude schopno přenášet data, což způsobí zpoždění, které má za následek zvýšenou latenci (zápis), dokud uzel neodešle aktualizaci okna TCP s informací, kolik dat nyní může přijmout. 
Ve většině případů pakety aktualizace nulového okna TCP odeslané uzlem indikují, že přijímající aplikace (proces) v uzlu (NFS, SMB atd.) pomalu vytahuje data z vyrovnávací paměti pro příjem. To může být indikováno konzistentní nenulovou hodnotou zobrazenou ve sloupci Recv-Q pro připojení ve výstupu
 'netstat -an tcp'
. Například několikrát spusťte následující příkaz, abyste zjistili, zda je Recv-Q konzistentně plný.
Příklad:
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
...
Jedná se o čítač v reálném čase, takže tento příkaz bude nutné spustit, zatímco uzel pro připojení odesílá pakety aktualizace nulového okna TCP. Následuje ukázkový skript pro načtení živých statistik:
  • Recv
  • Send-Q
  • Mimo objednávky (OOO)
  • Nulová okna (0-win)
  • Opakované přenosy
# 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
Trvale zvýšená hodnota Recv-Q znamená, že data byla uložena do vyrovnávací paměti pro příjem, ale aplikace nezavolala metodu recv(), aby je zkopírovala z vyrovnávací paměti pro příjem do vyrovnávací paměti aplikace. To znamená, že aplikace je přetížená nebo jinak neschopná včas zpracovat příchozí data. Jakmile data dorazí do fronty příjmu, měla by být okamžitě zpracována, pokud to aplikace nedělá, pak se po ní žádá, aby udělala více práce, než dokáže zvládnout. 
Stručně řečeno, pokud hodnota Recv-Q zůstane pro připojení zvýšená, zatímco se pro připojení odesílají pakety aktualizace nulového okna TCP, mělo by se provést šetření kritických míst v přijímající aplikaci, procesoru, discích atd.
Pokud hodnota Recv-Q zůstává pro připojení na nule, pak pakety aktualizace nulového okna TCP odeslané uzlem mohou také znamenat, že okno příjmu TCP na straně uzlu připojení je příliš nízké pro součin zpoždění šířky pásma (BDP) spojení mezi uzlem a vzdáleným cílem, a může být nutné zvážit některá ladění TCP uzlu.

其他信息

Další informace naleznete v části "Latence, šířka pásma a propustnost" v následující příručce 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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。