PowerScale Node에서 보낸 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
의 출력
예제:
대부분의 경우 노드에서 보내는 TCP 제로 윈도우 업데이트 패킷은 노드(NFS, SMB 등)의 수신 애플리케이션(프로세스)이 수신 버퍼에서 데이터를 끌어오는 속도가 느리다는 것을 나타냅니다. 이는 출력의 연결에 대한 Recv-Q 열에 표시되는 0이 아닌 일관된 값으로 나타낼 수 있습니다.
예제:
요약하자면, 연결에 대해 TCP 제로 윈도우 업데이트 패킷이 전송되는 동안 연결에 대해 Recv-Q 값이 상승된 상태로 유지되는 경우 수신 애플리케이션, CPU, 디스크 등에서 병목 현상을 조사해야 합니다.
연결에 대해 Recv-Q 값이 0으로 유지되는 경우, 노드에서 보낸 TCP 제로 창 업데이트 패킷은 연결의 노드 측에 있는 TCP 수신 창이 노드와 원격 대상 간 연결의 BDP(Bandwidth-Delay-Product)에 대해 시작하기에는 너무 낮음을 나타낼 수 있으며, 일부 노드 TCP 튜닝을 고려해야 할 수도 있습니다.
'netstat -anT -p tcp'명령을 실행하면 TCP 제로 윈도우 패킷 수(0-win 열)가 표시됩니다. 0-win 열의 값은 원격 디바이스(외부 주소)에 대한 TCP 연결(로컬 주소)의 노드가 TCP 제로 윈도우 업데이트 패킷을 보낸 횟수를 나타냅니다. 이 문제는 노드의 TCP 수신 창이 0으로 줄어들거나 전체 크기의 데이터 세그먼트에 맞지 않는 너무 작은 크기로 축소된 경우에 발생합니다.
예제:
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 열에 표시되는 0이 아닌 일관된 값으로 나타낼 수 있습니다.
'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 제로 윈도우 업데이트 패킷을 보내는 동안 이 명령을 실행해야 합니다. 다음은 라이브 통계를 검색하기 위한 샘플 스크립트입니다.
- Recv
- Q 보내기
- OOO(Out of Orders)
- 제로 윈도우(0-win)
- 재전송
# 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 값이 0으로 유지되는 경우, 노드에서 보낸 TCP 제로 창 업데이트 패킷은 연결의 노드 측에 있는 TCP 수신 창이 노드와 원격 대상 간 연결의 BDP(Bandwidth-Delay-Product)에 대해 시작하기에는 너무 낮음을 나타낼 수 있으며, 일부 노드 TCP 튜닝을 고려해야 할 수도 있습니다.
Additional Information
자세한 내용은 다음 가이드의 "레이턴시, 대역폭 및 처리량" 섹션을 참조하십시오 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.