Die Leseleistung von Synology verschlechtert sich bei Jumbo-Frames über 6000

12

Kurzfassung

Mein Heimnetzwerk ist reines Gigabit mit Geräten, die alle Jumbo-Frames mit mindestens ~ 9000 Bytes unterstützen. Durch Erhöhen der MTU-Jumbo-Frame-Einstellung in der Synology auf 6000 (Byte) wird die Leistung erhöht (810 Mbit / s beim Schreiben und 945 Mbit / s beim Lesen). Wenn Sie den Wert auf 7000 setzen, wird nur die Leseleistung beeinträchtigt (die bis auf 4 Mbit / s abnimmt). Die Schreibleistung bleibt schnell.

Dies ist unerwartet, da die meisten Jumbo-Frame-Probleme keine Richtwirkung haben und normalerweise alles oder nichts sind (Pakete werden an einem Switch verworfen, unabhängig davon, woher sie stammen). Es scheint überhaupt keine IP-Fragmentierung zu geben, aber die TCP-Schicht ist wirklich unglücklich. Was könnte dieses asymmetrische / schuppige Verhalten verursachen und wie kann ich es beheben, um die volle 9000-Byte-MTU zu unterstützen, die alle meine Geräte unterstützen sollen?


Lange Version

Dies sind meine bearbeiteten Notizen, die ich gemacht habe, als ich versucht habe, dies herauszufinden.

Klient

Realtek PCIe GBE Family Controller RTL8167
Jumbo-Rahmen: 9 KB MTU

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

(9198 enthält anscheinend nicht den 14-Byte-Ethernet-Header)

$ ping -l 1500 -f 192.168.1.84

(beobachtet, wenn Wireshark auf dem Client ausgeführt wird; alle Größen sind Drahtbyte-Größen)
[9213, ∞] nicht vom Host gesendet (würde eine Fragmentierung erfordern)
[9019, 9212] gesendet, aber keine Antwort
[9015, 9018] fragmentierte IP-Antwort
[42, 9014 ] unfragmentierte IP
[0, 41]? (Kann nicht generiert werden, da eth + IP + ICMP-Header = 14 + 20 + 8 = 42 Byte)

Router (Schalterteil)

Asus RT-AC68U - Firmware 3.0.0.4.378_4585
Jumbo-Frame aktivieren : "Aktivieren"
Kann nicht herausfinden, welche Jumbo-Frame-Größe tatsächlich unterstützt wird, scheint mindestens 9000 zu betragen

Es fragmentiert Ping-Anforderungen vom Client direkt bei 1514 Byte (aber das Pingen des Routers löst möglicherweise sein WAN-Router-Verhalten anstelle seines LAN-Switch-Verhaltens aus?)

Nicht verwalteter Switch

TP-LINK TL-SG1008D
Jumbo-Rahmen ( technische Datenblätter): 9 KB (auf der Website sind 15 KB angegeben, aber es sieht aus wie ein anderes Gerät)

Server

Synology DS1815 + - DSM 5.2-5565 Update 1
Jumbo-Frame: 9000

Datei-Lesepakete von der Synologie zur Client-
Größe: Die meisten sind 9014 Byte (in beide Richtungen).
IP-Flags: Fragmentieren Sie
Wireshark nicht. und normale (9014 Byte) Pakete
SMB2-über-NetBIOS-Protokoll-Pakete lesen Antwortleselänge: 65.536 (~ 8 TCP-Segmente)

$ 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 und eth3 werden durch adaptiven Lastausgleich verbunden (keine Schalterunterstützung)

$ ping -c 5 -s 1500 192.168.1.82

(beobachtet,
wenn Wireshark auf dem Client ausgeführt wird; alle Größen sind Drahtbyte- Größen) [9019, ∞] Anfrage gesendet, Antwort gesendet, Antwort nicht empfangen
[9015, 9018] fragmentierte IP-Anfrage (wahrscheinlich fragmentiert durch Synology, Busybox-Ping hat keine No-Fragment-Option, daher ist es schwer zu sagen)
[60, 9014] unfragmentierte IP
[0, 59]? (Kann nicht generiert werden, da der Busybox-Ping mindestens 18 Byte plus die 42-Byte-Header enthält.)

Verschiedene Daten

  • Das Ändern der Client-MTU auf 8 KB hat nicht geholfen
  • Die Lesegeschwindigkeit des Servers sinkt von einer Klippe, wenn die MTU des Servers von 6000 (großartig, 945 Mbit / s) auf 7000 (schrecklich, 4 Mbit / s) geändert wird.
  • Die Schreibgeschwindigkeit des Servers wird bei allen Server-MTU-Einstellungen (immer zwischen 700 und 825 Mbit / s) grundsätzlich nicht beeinflusst.
  • Die Synology verfügt über ein verbundenes Netzwerk (2 der 4 Ports).
  • Kabel sind alle Cat6 oder Cat5e
Colithium
quelle
Sie müssen ein Support-Ticket mit Synology einreichen. Ich habe keine Erfahrung mit der Synologie, daher weiß ich nicht, ob es erweiterte Einstellungen gibt, mit denen Sie die Speicherpuffergröße erhöhen können, aber das ist wahrscheinlich erforderlich. Persönlich bekomme ich normalerweise 920 MBit und ich verwende überhaupt keine Jumbo-Frames für irgendetwas. Haben Sie einfach einen generischen nicht verwalteten Netgear-Schalter.
Cybernard

Antworten:

2

Aktualisieren Sie die Firmware

Nach meiner Erfahrung behebt Synology viele Probleme in jeder Firmware-Version, und die von Ihnen ausgeführte ist fast vier Jahre alt. Ich habe die Versionshinweise nicht gelesen, aber es scheint viele Möglichkeiten zu geben, dass ein Jumbo-Frame-Fehler seitdem behoben wurde.

Testen Sie mit einer direkten Verbindung

Verbinden Sie Ihren Testcomputer mit neuen Patchkabeln direkt mit der Synology (weisen Sie statische IPs im selben Subnetz zu) und führen Sie Ihre Tests erneut aus. Dadurch werden die Verkabelung und die Schalter sowie alle anderen Geräte- und Konfigurationsprobleme beseitigt. Wenn das Problem weiterhin besteht, führen Sie Ihre Tests mit einem anderen Computer aus. Wenn es noch bleibt, ist es sicherlich das NAS.

Wenn das Problem während des Direktverbindungstests behoben wird, ersetzen Sie zuerst den Schalter und dann die Verkabelung. Sie haben die Verbindungen nicht angezeigt, daher gehe ich nur von der TPLINK zwischen der Testmaschine und dem NAS aus.

Jens Ehrich
quelle