6000 개 이상의 점보 프레임으로 Synology 읽기 성능 저하 동작의 원인은 무엇이며 모든 장비가 지원해야하는 전체

짧은 버전

내 홈 네트워크는 최대 9000 바이트까지 점보 프레임을 지원하는 장치를 갖춘 순수한 기가비트입니다. Synology의 MTU 점보 프레임 설정을 6000 (바이트)으로 늘리면 성능이 향상됩니다 (810Mbps 쓰기 및 945Mbps 읽기). 값을 7000으로 설정하면 읽기 성능 만 손상됩니다 (4Mbps까지 감소). 쓰기 성능이 빠르게 유지됩니다.

대부분의 점보 프레임 문제에는 관련된 방향성이없고 일반적으로 전부 또는 아무것도 없기 때문에 (예 : 패킷이 어디에서 왔든 스위치에서 드롭 됨) 예기치 않은 결과입니다. 전혀 IP 조각화 가 발생하지 않는 것처럼 보이지만 TCP 계층은 실제로 불행합니다. 이 비대칭 / 플래 키 동작의 원인은 무엇이며 모든 장비가 지원해야하는 전체 9000 바이트 MTU를 지원하도록 수정하려면 어떻게해야합니까?


긴 버전

이것들은 이것을 알아 내려고 노력하면서 편집 된 메모입니다.

고객

Realtek PCIe GBE 제품군 컨트롤러 RTL8167
점보 프레임 : 9KB MTU

$ netsh interface ipv4 show subinterfaces
   MTU  MediaSenseState   Bytes In  Bytes Out  Interface
------  ---------------  ---------  ---------  -------------
  9198                1   32501506   11275394  Local Area Connection

(9198은 14 바이트 이더넷 헤더를 포함하지 않는 것으로 나타남)

$ ping -l 1500 -f 192.168.1.84

(클라이언트에서 실행되는 Wireshark에서 관찰 됨; 모든 크기는 와이어 바이트 크기 임)
[9213, ∞] 호스트에 의해 전송되지 않음 (조각화 필요)
[9019, 9212] 전송되었지만 응답 없음
[9015, 9018] 조각난 IP 응답
[42, 9014 ] 조각화되지 않은 IP
[0, 41]? (eth + IP + ICMP 헤더 = 14 + 20 + 8 = 42 바이트 이후 생성 할 수 없음)

라우터 (스위치 부분)

Asus RT-AC68U-펌웨어 3.0.0.4.378_4585
점보 프레임 활성화 : “활성화”
실제로 지원하는 점보 프레임 크기를 파악할 수 없으며 9000 이상인 것으로 보입니다.

클라이언트에서 ping 요청을 1514 바이트로 조각화합니다 (그러나 라우터를 ping하면 LAN 스위치 동작 대신 WAN 라우터 동작이 트리거 될 수 있습니까?).

관리되지 않는 스위치

TP-LINK TL-SG1008D
점보 프레임 (사양 시트) : 9KB (웹 사이트는 15KB이지만 다른 장치처럼 보입니다)

섬기는 사람

Synology DS1815 +-DSM 5.2-5565 업데이트 1
점보 프레임 : 9000

Synology에서 클라이언트로의 파일 읽기 패킷
크기 : 대부분 9014 바이트 (양방향)
IP 플래그 :
Wireshark를 조각화하지 않음 : TCP 스퓨리어스 재전송, TCP 이전 세그먼트가 캡처되지 않음, TCP 주문 실패, TCP 빠른 재전송, 정상 (9014 바이트) 패킷
SMB2-over-NetBIOS 프로토콜 패킷 읽기 응답 읽기 길이 : 65,536 (~ 8 TCP 세그먼트)

$ ifconfig
bond0     Link encap:Ethernet  HWaddr --:FF
          inet addr:192.168.1.84  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addrs: --/64 Scope:Link, --/64 Scope:Global, --/64 Scope:Global
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:9000  Metric:1
          RX packets:lots errors:85 dropped:0 overruns:0 frame:85
          TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:237 GiB  TX bytes:117 GiB

eth2      Link encap:Ethernet  HWaddr --:00
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:lots errors:19 dropped:0 overruns:0 frame:19
          TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:236 GiB  TX bytes:83 GiB

eth3      Link encap:Ethernet  HWaddr --FF
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:lots errors:66 dropped:0 overruns:0 frame:66
          TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1 GiB  TX bytes:33 GiB

eth2 및 eth3은 적응 형로드 밸런싱을 사용하여 본딩됩니다 (스위치 지원 없음).

$ ping -c 5 -s 1500 192.168.1.82

(클라이언트에서 실행되는 Wireshark에서 관찰 됨; 모든 크기는 와이어 바이트 크기 임)
[9019, ∞] 요청 전송, 응답 전송, 응답 수신 안 함
[9015, 9018] 조각화 된 IP 요청 조각화 안 함 옵션이므로 말하기 어렵습니다)
[60, 9014] 조각화되지 않은 IP
[0, 59]? (통화 상자 핑이 최소 18 바이트에 42 바이트 헤더를 더해 생성 할 수 없음)

기타 데이터

  • 클라이언트 MTU를 8KB로 변경해도 도움이되지 않았습니다.
  • 서버의 MTU를 6000 (큰, 945Mbps)에서 7000 (끔한, 4Mbps)으로 변경할 때 서버의 읽기 속도가 절벽에서 떨어집니다.
  • 서버의 쓰기 속도는 기본적으로 모든 서버 MTU 설정에 영향을 미치지 않습니다 (항상 700 ~ 825Mbps)
  • Synology에는 본드 네트워크가 있습니다 (4 개 포트 중 2 개)
  • 케이블은 모두 Cat6 또는 Cat5e입니다


답변

펌웨어 업데이트

필자의 경험에 따르면 Synology는 각 펌웨어 릴리스에서 많은 문제를 해결하며 실행중인 버전은 거의 4 년이되었습니다. 릴리스 노트를 읽지 못했지만 그 이후 점보 프레임 버그가 수정되었을 가능성이 많습니다.

직접 연결로 테스트

새로운 패치 케이블을 사용하여 테스트 머신을 Synology에 직접 연결하고 (동일한 서브넷에 고정 IP 할당) 테스트를 다시 실행하십시오. 이렇게하면 케이블 및 스위치는 물론 다른 장비 및 구성 문제도 제거됩니다. 문제가 지속되면 다른 컴퓨터에서 테스트를 실행하십시오. 여전히 남아 있으면 확실히 NAS입니다.

직접 연결 테스트 중에 문제가 해결되지 않으면 먼저 스위치를 교체 한 다음 케이블 연결을 시도하십시오. 연결을 표시하지 않았으므로 테스트 머신과 NAS 사이의 TPLINK 만 가정합니다.