Synology read menurunkan kinerja dengan Jumbo Frames lebih dari 6000

12

Versi pendek

Jaringan rumah saya murni gigabit dengan perangkat yang semuanya mendukung frame jumbo hingga setidaknya ~ 9000 byte. Meningkatkan pengaturan jumbo frame MTU pada Synology menjadi 6000 (byte) meningkatkan kinerja (810Mbps write dan 945Mbps read). Mengatur nilai ke 7000 hanya akan merusak kinerja baca (yang menurun hingga 4Mbps); kinerja menulis tetap cepat.

Ini tidak terduga karena sebagian besar masalah kerangka jumbo tidak memiliki directionality terkait dengan mereka dan biasanya semua atau tidak sama sekali (paket dijatuhkan di sakelar tidak peduli dari mana asalnya). Tampaknya tidak ada fragmentasi IP yang terjadi sama sekali, tetapi lapisan TCP benar-benar tidak bahagia. Apa yang dapat menyebabkan perilaku asimetris / terkelupas ini dan bagaimana cara memperbaikinya untuk mendukung MTU 9000 byte penuh yang seharusnya didukung oleh semua peralatan saya?


Versi Panjang

Ini adalah catatan saya yang diedit yang diambil saat mencoba mencari tahu ini.

Klien

Realtek PCIe GBE Family Controller RTL8167
Jumbo Bingkai: 9KB MTU

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

(muncul 9198 tidak termasuk header ethernet 14 byte)

$ ping -l 1500 -f 192.168.1.84

(diamati dengan Wireshark berjalan pada Klien; semua ukuran adalah ukuran kawat byte)
[9213, ∞] tidak dikirim oleh tuan rumah (akan membutuhkan fragmentasi)
[9019, 9212] dikirim tetapi tidak ada tanggapan
[9015, 9018] tanggapan IP terfragmentasi
[42, 9014 ] IP tidak terfragmentasi
[0, 41]? (tidak dapat menghasilkan karena eth + IP + ICMP header = 14 + 20 + 8 = 42 byte)

Router (beralih bagian)

Asus RT-AC68U - Firmware 3.0.0.4.378_4585
Aktifkan Jumbo Frame: "Enable"
Tidak dapat mengetahui ukuran bingkai jumbo yang sebenarnya didukungnya, tampaknya setidaknya 9000

Itu memecah permintaan ping dari Klien tepat di 1514 byte (tetapi ping router mungkin memicu perilaku router WAN bukan perilaku switch LAN-nya?)

Sakelar tidak dikelola

TP-LINK TL-SG1008D
Jumbo Frames (lembar spesifikasi): 9KB (situs web mereka mengatakan 15KB tetapi sepertinya perangkat yang berbeda)

Server

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

Paket pembacaan file dari Synology ke
Ukuran Klien : sebagian besar adalah 9014 byte (di kedua arah)
IP Flags: Jangan terpecah-pecah
Wireshark ditemukan: TCP Spurious Retransmission, TCP Segmen sebelumnya tidak ditangkap, TCP Out-Of-Order, TCP Fast Retransmission, dan paket normal (9014 byte) paket
SMB2-over-NetBIOS-protokol membaca panjang baca respon: 65.536 (~ 8 segmen 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 dan eth3 diikat menggunakan Adaptive Load Balancing (tanpa dukungan sakelar)

$ ping -c 5 -s 1500 192.168.1.82

(diamati dengan Wireshark berjalan pada Klien; semua ukuran adalah ukuran kawat byte)
[9019, ∞] permintaan dikirim, respons terkirim, respons tidak diterima
[9015, 9018] permintaan IP terfragmentasi (mungkin terfragmentasi oleh Synology, ping kotak sibuk tidak memiliki opsi tanpa fragmen sehingga sulit untuk mengatakan)
[60, 9014] IP tidak terfragmentasi
[0, 59]? (tidak dapat menghasilkan karena ping busybox menempatkan minimal 18 byte ditambah header 42 byte)

Data Lain-Lain

  • Mengubah MTU Klien ke 8KB tidak membantu
  • Kecepatan baca Server jatuh dari tebing ketika mengubah MTU Server dari 6000 (hebat, 945Mbps) menjadi 7000 (mengerikan, 4Mbps)
  • Kecepatan tulis Server pada dasarnya tidak terpengaruh di semua pengaturan Server MTU (selalu antara 700 dan 825 Mbps)
  • Synology memiliki jaringan terikat (2 dari 4 port)
  • Kabel semuanya Cat6 atau Cat5e
colithium
sumber
Anda perlu mengajukan tiket dukungan dengan synology. Saya tidak punya pengalaman dengan synology, jadi saya tidak tahu apakah ada pengaturan lanjutan di mana Anda dapat meningkatkan ukuran buffer memori, tetapi mungkin itulah yang diperlukan. Secara pribadi, saya biasanya mendapatkan 920mbit dan saya tidak menggunakan bingkai jumbo sama sekali pada apa pun. Hanya memiliki saklar netgear tidak terkelola generik
cybernard

Jawaban:

2

Perbarui Firmware

Dalam pengalaman saya, Synology memperbaiki banyak masalah di setiap rilis firmware dan yang Anda jalankan hampir empat tahun. Saya belum membaca catatan rilis, tetapi tampaknya ada banyak kesempatan untuk bug bingkai Jumbo telah diperbaiki sejak saat itu.

Uji dengan Koneksi Langsung

Hubungkan mesin uji Anda langsung ke Synology (tetapkan IP statis pada subnet yang sama) dengan kabel patch baru dan jalankan kembali pengujian Anda. Ini akan menghilangkan pemasangan kabel dan sakelar serta masalah peralatan dan konfigurasi lainnya. Jika masalah tetap ada, jalankan pengujian Anda dengan komputer lain. Jika masih tetap itu tentu NAS.

Jika masalah hilang selama tes koneksi langsung, maka coba ganti sakelar terlebih dahulu, lalu pemasangan kabel. Anda belum menunjukkan koneksi, jadi saya berasumsi hanya TPLINK antara mesin uji dan NAS.

Jens Ehrich
sumber