Синологія читання знижує продуктивність з Jumbo Frames понад 6000


12

Коротка версія

Моя домашня мережа - це чистий гігабіт із пристроями, які підтримують джомбові кадри розміром не менше ~ 9000 байт. Підвищення налаштування фрейму MTU для синхронізу в Synology до 6000 (байт) збільшує продуктивність (запис 810 Мбіт / с і зчитування 945 Мбіт / с). Встановлення значення в 7000 знищує лише продуктивність читання (що знижується аж до 4 Мбіт / с); Виконання запису залишається швидким.

Це несподівано, тому що більшість проблем з кадром jumbo не мають спрямованості, пов'язаної з ними, і, як правило, всі або нічого (пакети скидаються на комутатор незалежно від того, звідки вони прийшли). Здається, взагалі не відбувається жодної фрагментації IP, але рівень TCP насправді нещасний. Що може спричинити таку асиметричну / невмілу поведінку і як я можу виправити це, щоб підтримувати повний 9000 байт MTU, що все моє обладнання повинно підтримувати?


Довга версія

Це мої відредаговані замітки, зроблені під час спроби з'ясувати це.

Клієнт

Сімейний контролер Realtek PCIe GBE RTL8167
Рамка Jumbo: 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: "Увімкнути"
Не можу зрозуміти, який розмір рамки jumbo він насправді підтримує, здається, щонайменше 9000

Він фрагментує запити від ping від клієнта прямо на рівні 1514 байт (але пінггінг маршрутизатора може викликати його поведінку маршрутизатора WAN замість поведінки комутатора локальної мережі?)

Некерований комутатор

TP-LINK TL-SG1008D
Jumbo Frames (специфікаційні листи): 9 КБ (їхній веб-сайт говорить про 15 КБ, але це схоже на інший пристрій)

Сервер

Synology DS1815 + - DSM 5.2-5565 Оновлення 1
рамка Jumbo: 9000

Файли зчитування файлів від Synology до клієнтського
розміру: більшість - це 9014 байт (в обох напрямках)
IP-прапори: Не фрагмент
виявлено Wireshark: TCP Spurious Retransmission, TCP Попередній сегмент не захоплений, TCP Out-Of-Order, TCP Fast Retransmission, і нормальні (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, request] запит надіслано, відповідь надіслана, відповідь не отримано
[9015, 9018] фрагментований IP-запит (ймовірно, фрагментований Synology, pіnboxbox ping не має опція без фрагментів, тому важко сказати)
[60, 9014] нефрагментований IP
[0, 59]? (не вдається генерувати, оскільки ping зайнятий ящик ставить мінімум 18 байт плюс 42 байт заголовки)

Різні дані

  • Зміна MTU клієнта до 8 КБ не допомогло
  • Швидкість зчитування Сервера падає з обриву при зміні MTU сервера з 6000 (чудово, 945Mbps) на 7000 (жахливо, 4Mbps)
  • Швидкість запису сервера в основному не впливає на всі налаштування MTU сервера (завжди від 700 до 825 Мбіт / с)
  • Synology має зв’язану мережу (2 з 4 портів)
  • Кабелі всі Cat6 або Cat5e

Потрібно подати квиток на підтримку із синологією. Я не маю жодного досвіду роботи з синологією, тому не знаю, чи є заздалегідь налаштування, де можна збільшити розмір буфера пам'яті, але це, мабуть, те, що потрібно. Особисто я зазвичай отримую 920 Мбіт, і я взагалі нічого не використовую. Просто майте загальний некерований комутатор мереж.
кібернард

Відповіді:


2

Оновіть прошивку

З мого досвіду, Synology виправляє багато проблем у кожному випуску прошивки, а тому, що ви працюєте, майже чотири роки. Я не читав нотаток до випуску, але, здається, є багато можливостей, щоб помилка кадрів Jumbo була виправлена ​​з того часу.

Тест за допомогою прямого з'єднання

Підключіть свій тестовий апарат безпосередньо до Synology (призначте статичні IP-адреси в одній підмережі) новими патч-кабелями та повторно запустіть свої тести. Це усуне кабелі та комутатори, а також будь-яке інше питання обладнання та конфігурації. Якщо проблема залишається, запустіть свої тести на іншому комп’ютері. Якщо це все ще залишиться, це звичайно NAS.

Якщо проблема усувається під час тесту прямого підключення, спробуйте спочатку замінити комутатор, а потім кабель. Ви не показали з'єднання, тож я припускаю, що саме TPLINK між тестовою машиною та NAS.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.