故障診斷 PowerScale 節點傳送的 TCP 零視窗更新封包

Summary: 本文討論 netstat 命令不使用視窗計數器的原因。它還討論了可能的興趣點,同時研究和調查了這些值增加的原因。

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

的輸出
 'netstat -anT -p tcp'
來自節點的命令顯示 TCP 零視窗數據包(0-win 列)的計數。0-win 列中的值指示與遠端設備(外部位址)的 TCP 連接(本地位址)節點發送 TCP 零視窗更新數據包的次數。當節點的 TCP 接收視窗減少到零,或大小太低而無法容納全尺寸數據區段時,就會發生這種情況。
範例:
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
...
這樣做的最終結果是遠端設備將無法傳輸數據,從而引入導致(寫入)延遲的延遲,直到節點發送 TCP 視窗更新,指示它現在可以接收多少數據。
在大多數情況下,節點發送的 TCP 零視窗更新數據包表明節點(NFS、SMB 等)上的接收應用程式(進程)從接收緩衝區中提取數據的速度很慢。這可以通過在 Recv-Q 列中看到的一致的非零值來表示
 'netstat -an tcp'
命令。例如,多次運行以下命令以查看 Recv-Q 是否始終如滿。
範例:
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
...
這是一個即時計數器,因此需要在節點為連接發送 TCP 零視窗更新數據包時運行此命令。以下是從中檢索即時統計資訊的範例文稿:
  • 雷克夫
  • Send-Q 的
  • 無序 (OOO)
  • 零視窗(0勝)
  • 重新傳輸
# 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
不斷提升的 Recv-Q 表示數據已放在接收緩衝區上,但應用程式尚未調用 recv() 將其從接收緩衝區複製到應用程式緩衝區。這表示應用程式過載或無法及時處理傳入的數據。一旦數據到達接收佇列,應立即對其進行處理,如果應用程式不這樣做,則要求它執行超出其處理能力的工作。
總之,如果在為連接發送 TCP 零視窗更新數據包時連接的 Recv-Q 值保持提升,則應在接收應用程式、CPU、磁碟等處執行瓶頸調查。
如果連接的 Recv-Q 值保持為零,則節點發送的 TCP 零視窗更新數據包也可能表示連接節點端的 TCP 接收視窗太低,無法從節點和遠端目標之間連接的頻寬延遲積 (BDP) 開始,並且可能需要考慮某些節點 TCP 調整。

Additional Information

有關詳細資訊,請參閱以下指南的 「延遲、頻寬和輸送量」 部分:

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.