Производительность чтения Synology снижается с Jumbo Frames более 6000

7606
colithium

Укороченная версия

Моя домашняя сеть - чистый гигабит с устройствами, которые поддерживают джамбо-кадры размером не менее ~ 9000 байт. Увеличение значения параметра MTU jumbo frame в Synology до 6000 (байт) повышает производительность (запись 810 Мбит / с и чтение 945 Мбит / с). Установка значения в 7000 снижает только скорость чтения (которая уменьшается до 4 Мбит / с); производительность записи остается быстрой.

Это неожиданно, потому что большинство проблем с большими кадрами не имеют направленности, связанной с ними, и, как правило, все или ничего (пакеты отбрасываются на коммутаторе независимо от того, откуда они пришли). Похоже, что никакой фрагментации IP не происходит вообще, но уровень TCP действительно несчастен. Что может вызвать это асимметричное / нестабильное поведение, и как я могу исправить его, чтобы поддерживать полный 9000-байтовый MTU, который должно поддерживать все мое оборудование?


Длинная версия

Это мои отредактированные заметки, сделанные при попытке выяснить это.

клиент

Контроллер семейства Realtek PCIe GBE RTL8167
Jumbo Frame: 9 КБ MTU

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

(кажется, 9198 не включает 14-байтовый заголовок Ethernet)

$ 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
Включить Jumbo Frame: «Включить»
Не удается выяснить, какой размер большого кадра он на самом деле поддерживает, кажется, по крайней мере 9000

Он фрагментирует запросы пинга от Клиента прямо на 1514 байт (но пинг маршрутизатора может вызывать его поведение маршрутизатора WAN вместо его поведения коммутатора LAN?)

Неуправляемый коммутатор

TP-LINK TL-SG1008D
Jumbo Frames (технические характеристики): 9 КБ (на их сайте написано 15 КБ, но это выглядит как другое устройство)

сервер

Synology DS1815 + - DSM 5.2-5565 Обновление 1
Jumbo Frame: 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-запрос (вероятно, фрагментирован Synology, пинг busybox не имеет опция без фрагмента, поэтому сложно сказать)
[60, 9014] нефрагментированный IP
[0, 59]? (невозможно сгенерировать, поскольку пинг busybox помещает как минимум 18 байтов плюс 42-байтовые заголовки)

Разные данные

  • Изменение клиентского MTU до 8 КБ не помогло
  • Скорость чтения Сервера падает с обрыва при изменении MTU Сервера с 6000 (отлично, 945 Мбит / с) до 7000 (ужасно, 4 Мбит / с)
  • Скорость записи Сервера практически не изменяется при всех настройках MTU Сервера (всегда между 700 и 825 Мбит / с)
  • Synology имеет связанную сеть (2 из 4 портов)
  • Все кабели Cat6 или Cat5e
9

0 ответов на вопрос

Похожие вопросы