Расширенные настройки NIC в Windows: RSS, LSO, EEE и Wake on LAN

· Обновлено: · · Windows, Сети, NIC, Ethernet, Настройка производительности, Разработка Windows

История изменений (1 обновлений, последнее 30 Aug 2026)

Журнал изменений этой статьи. Там, где версия до правки была заархивирована, она остаётся доступной для чтения по постоянной ссылке с DOI.

Русский текст переписан как полноценный технический перевод, а не калька с японского. Утверждения статьи не менялись.
Первая публикация
Цитирование статьи(DOI: 10.5281/zenodo.21619685)

Статья заархивирована на Zenodo. Ниже приведены DOI, который всегда ведёт к последней версии, и DOI, закреплённый за версией, которую вы читаете.

Го Комура (2026). Расширенные настройки NIC в Windows: RSS, LSO, EEE и Wake on LAN. KomuraSoft LLC. https://doi.org/10.5281/zenodo.21619685 https://comcomponent.com/ru/blog/2026/03/15/001-windows-nic-advanced-properties-guide/

DOI (последняя версия)
10.5281/zenodo.21619685
DOI (эта версия)
10.5281/zenodo.21619686

Вкладка [Дополнительно] (Advanced) у NIC в Windows пестрит незнакомыми словами. Jumbo Packet, Large Send Offload, Interrupt Moderation, Receive Side Scaling, Flow Control, Energy Efficient Ethernet. По одним названиям хочется включить всё сразу, но на практике правильный ответ зависит от того, что вы хотите получить в первую очередь.

  • Поднять пропускную способность при больших передачах?
  • Ужать задержку мелких пакетов?
  • Снизить загрузку CPU?
  • Стабилизировать выход из сна и Wake on LAN?
  • Локализовать несовместимость с драйвером или коммутатором?

Если оставить это неясным и «включить всё подряд», «на всякий случай Jumbo 9014» или «раз медленно — зафиксировать 1 Gbps Full», проблемы возникают совершенно рутинно.

Если трогать настройки без цели, легко сломать работуЕсли неясно, что важнее, и вы на всякий случай включаете всё, Jumbo или фиксируете скорость, проблемы возникают легко; правильный ответ меняется, когда сначала решено, что важнее.от этого зависит правильный ответНеясно, что важнееВключить всё, Jumbo, зафиксировать скоростьПроблемы возникают рутинноСначала решить, что важнееСужается набор настроек

Рис. 1: Если трогать «сильные» настройки без цели, работу легко сломать; если цель ясна, набор параметров сужается.

В этой статье, ориентируясь в основном на проводные Ethernet-адаптеры Windows 10 / 11 и Windows Server, разбираем, как на практике подходить к расширенным настройкам NIC. Что означает каждая настройка, что обычно происходит, если значение поднять / опустить или параметр включить / отключить, и в каких ситуациях его стоит трогать — так, чтобы это можно было охватить одним взглядом.

Имена на экране NIC и доступные значения сильно зависят от производителя и драйвера. Jumbo Packet может называться Jumbo Frames, Receive BuffersReceive Descriptors, а Priority & VLANPacket Priority & VLAN. Близкие по смыслу пункты в этой статье рассматриваем вместе.

Как пользоваться этой статьёй

Глав 14, текст длинный, поэтому сначала карта чтения. Читать всё подряд не обязательно.

Цель Что читать
Сначала только выводы глава 1
Посмотреть, что настроено сейчас глава 2 (GUI и PowerShell)
Как действовать до изменений глава 3 (менять по одному пункту, заранее решить, что измерять)
Понять смысл настроек сводная таблица главы 4 → главы 5–9 (разбор по параметрам)
Только выводы по цели глава 10 (десктоп / NAS / низкая задержка / Hyper-V / для изоляции)
Идти от симптома глава 11 (100 Mbps, медленная передача, jitter, сбой выхода из сна, checksum error)
Проверять и менять скриптом глава 12

Самый частый маршрут, на мой взгляд, такой: войти от симптома, глава 11 → глава нужной настройки → вернуться к главе 10.

Самый частый маршрут чтенияРисунок маршрута: войти от симптома, посмотреть точки проверки в главе 11, уточнить смысл в главе нужной настройки и вернуться к ориентирам главы 10.Войти от симптомаГлава 11 (точки проверки по симптомам)Глава нужной настройки (5–9)Глава 10 (вернуться к ориентирам по цели)

Рис. 2: Типичный маршрут — от симптома в главу 11, затем в главу настройки и обратно к ориентирам главы 10.

Краткий словарь сокращений

Чтобы читать статью рядом с экраном настроек, собираем сокращения, которые здесь встречаются.

Сокращение Расшифровка Кратко
MTU Maximum Transmission Unit Максимальный размер одного пакета. Обычно 1500 байт
RSS Receive Side Scaling Распределяет обработку приёма по нескольким CPU
RSC Receive Segment Coalescing Собирает принятые TCP-сегменты на стороне NIC
LRO Large Receive Offload Другое имя RSC. У части производителей пишут так
LSO Large Send Offload Большие TCP-отправки NIC сам режет на кадры
TSO TCP Segmentation Offload Другое имя LSO
USO UDP Segmentation Offload Сегментацию больших UDP-пакетов делает NIC
URO UDP Receive Segment Coalescing Offload Собирает принятые UDP-датаграммы на стороне NIC
EEE Energy Efficient Ethernet (IEEE 802.3az) Снижает потребление, когда линк idle
WoL Wake on LAN Будит спящий ПК по сети
VMQ Virtual Machine Queue Выделяет очередь приёма каждой VM Hyper-V
VMMQ Virtual Machine Multi-Queue Расширение VMQ на несколько очередей
SR-IOV Single Root I/O Virtualization Виртуально делит NIC и показывает его VM напрямую
RDMA Remote Direct Memory Access Читает и пишет память соседа без участия CPU
DCB Data Center Bridging Набор стандартов для lossless Ethernet
PFC Priority-based Flow Control Flow Control, который ставит pause по приоритету
DPC Deferred Procedure Call Высокоприоритетная отложенная обработка второй половины прерывания
NDIS Network Driver Interface Specification Спецификация интерфейса сетевых драйверов Windows

1. Сначала выводы

Сначала — только те выводы, которые на практике трудно обойти.

  • Speed & Duplex по умолчанию — Auto. Если скорость падает до 100 Mbps, сразу фиксировать 1.0 Gbps Full Duplex — это последний шаг, не первый.
  • Checksum Offload / RSS / LSO / RSC, как правило, включены или остаются в значениях по умолчанию. Если отключить всё подряд «на всякий случай», CPU чаще тратится впустую.
  • Jumbo Packet имеет смысл только когда параметр согласован end-to-end. Если выставить 9014 только на своём NIC, а путь между узлами останется на 1500, это ловушка.
  • Interrupt Moderation — компромисс между пропускной способностью и задержкой. Более высокое значение разгружает CPU, но задержка растёт.
  • Flow Control иногда снижает число отброшенных пакетов, но может и разнести перегрузку по сети.
  • EEE / Green Ethernet / Selective Suspend — настройки энергосбережения, а не способ ускорить работу.
  • VMQ / SR-IOV предназначены для хостов Hyper-V и не являются волшебной кнопкой ускорения обычного настольного ПК.
  • Wake on Pattern Match часто становится причиной непреднамеренного пробуждения, поэтому если нужен просто Wake on LAN, безопаснее ограничиться Magic Packet.
  • Устаревшие пункты вроде TCP Chimney Offload сегодня лучше не трогать.

Иными словами, расширенные настройки NIC — это не место, где нужно «включить всё, что выглядит мощным». Это место, где сначала решают, за что вы боретесь — за пропускную способность, задержку, CPU, энергопотребление или совместимость, — и меняют параметры по одному.

Зачем нужна вкладка расширенных настроекРасширенные настройки NIC — не место, где включают всё, что выглядит мощным; сначала выбирают ось (пропускная способность, задержка, CPU, энергопотребление, совместимость) и меняют параметры по одному.это не то местоВключить всё, что выглядит мощнымРасширенные настройки NICСначала выбрать осьМенять по одному

Рис. 3: Вкладкой расширенных настроек пользуются так: сначала выбрать ось, затем менять параметры по одному.

Карта знаний этой статьи

Расширенные настройки NIC в Windows (вкладка Advanced) складываются из множества пунктов — Speed & Duplex, Jumbo Frame, Checksum Offload, LSO/TSO, RSC/LRO, RSS, Interrupt Moderation, Flow Control, EEE, Wake on LAN, Selective Suspend, VMQ/SR-IOV — и все они настраиваются на одной вкладке. Если нужна пропускная способность больших передач, включают Jumbo, LSO, RSC и RSS; если важнее низкая задержка, RSC, Interrupt Moderation и EEE берут как кандидатов на отключение. Односторонняя фиксация Speed & Duplex может дать duplex mismatch, EEE — downshift линка до 100 Mbps. При включённом Checksum Offload локальный захват иногда показывает checksum error; это отделяют проверкой через pktmon или зеркальный порт.

Карта знаний расширенных настроек NIC в WindowsРисунок показывает, что пункты расширенных настроек NIC задаются на вкладке Advanced, что рекомендации расходятся для приоритета пропускной способности и низкой задержки, что Speed & Duplex и EEE могут давать downshift и duplex mismatch, и как Checksum Offload выглядит ошибкой checksum при локальном захвате и проверяется через pktmon.настраиваетсяможет вызватьснижаетнастраиваетсянастраиваетсяможет вызватьпроверяетсянастраиваетсянастраиваетсянастраиваетсянастраиваетсянастраиваетсянастраиваетсянастраиваетсянастраиваетсянастраиваетсяне рекомендуетсяне рекомендуетсяне рекомендуетсярекомендуется длярекомендуется длярекомендуется длярекомендуется длярекомендуется дляможет вызватьможет вызватьдоп. свойства NIC (вкладка Advanced)Speed & Duplexнесовпадение duplexснижение скорости линкаJumbo Packet/Jumbo FramesChecksum Offloadложная ошибка checksum при локальном захватеPacket Monitor (pktmon)Large Send Offload (LSO/TSO)RSC/LRO (Receive Segment Coalescing)RSS (Receive Side Scaling)Interrupt ModerationFlow Control (pause-кадр 802.3x)Energy Efficient Ethernet (EEE / Green Ethernet)Wake on LAN (Wake on Magic Packet)Selective SuspendVMQ/VMMQ/SR-IOVнагрузка с упором на низкую задержкунагрузка с упором на пропускную способностьсетевая конфигурация хоста Hyper-Vсбой NIC после выхода из сна

На схеме сплошная линия обозначает отношение, которое выполняется всегда, а пунктирная — условное отношение (условия указаны в пояснении к каждому отношению на странице сведений). Полный список отношений (всего 26, с доказательствами и степенью уверенности) и определения основных понятий собраны на странице сведений карты знаний (на японском). Данные: JSON-LD / Turtle

2. Где смотреть настройки

2.1 Через графический интерфейс

Через «Сетевые подключения»

  1. Выполните ncpa.cpl
  2. Щёлкните правой кнопкой по нужному адаптеру
  3. СвойстваНастроить
  4. Вкладка Дополнительно (Advanced)

Через Диспетчер устройств

  1. Диспетчер устройств
  2. Сетевые адаптеры
  3. Щёлкните правой кнопкой по нужному NIC → Свойства
  4. Вкладка Дополнительно

Именно эти параметры — главные герои статьи. Однако настройки на вкладке Power Management тоже сильно влияют на практику, и мы разберём их во второй половине.

2.2 Через PowerShell

Через PowerShell удобно смотреть текущие значения списком и снимать резервную копию до изменения.

Get-NetAdapter

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Sort-Object DisplayName |
  Format-Table DisplayName, DisplayValue, RegistryKeyword, RegistryValue -Auto

На части NIC поле RegistryKeyword использует стандартизированные имена и выглядит как *RSS, *VMQ, *SRIOV, *EEE. Но DisplayName и DisplayValue зависят от драйвера. Перед тем как писать скрипт изменения, безопаснее сначала посмотреть список на реальной машине.

Порядок проверки через PowerShellDisplayName и DisplayValue зависят от драйвера, поэтому безопасный порядок такой: сначала список на реальной машине, затем скрипт изменения.Посмотреть список на реальной машинеУбедиться, что имена зависят от драйвераЗатем писать скрипт измененияСнять копию до изменения

Рис. 4: Имена зависят от драйвера, поэтому сначала список на реальной машине, потом скрипт.

3. Главные принципы до изменений

Если пропустить эти пункты перед тем, как трогать настройки NIC, обычно увязаешь.

3.1 Сначала решить, «что именно улучшить»

За одной фразой «сеть медленная» скрываются совершенно разные вещи.

  • Медленно копируются большие файлы → throughput, RSS, RSC, LSO, Jumbo, буферы
  • Мелкие request/response «вязнут» → Interrupt Moderation, RSC, EEE, глубина очереди
  • Высокая загрузка CPU → offload, RSS, RSC, прерывания
  • Странности после выхода из сна → Selective Suspend, Power Management, WoL
  • Иногда обрывается / становится 100 Mbps → кабель, оборудование на другом конце, Speed & Duplex, EEE, драйвер

Если трогать одни и те же настройки при разных целях, вместо улучшения легко получить ухудшение.

Сначала разделить, что именно «медленно»За одной жалобой «сеть медленная» скрываются разные проблемы; если не решить, что улучшить, и не трогать только подходящую группу настроек, вместо улучшения легко получить ухудшение.трогать, не разделяяСеть медленнаяСначала разделить содержимоеТрогать только настройки под цельВместо улучшения — ухудшение

Рис. 5: Если не разделить симптом, одно и то же «медленно» даёт обратный эффект.

3.2 Сначала подозревать физический уровень и оборудование на другом конце

Есть проблемы, которые настройками NIC не лечатся — это обычное дело.

  • Неисправный кабель
  • Несовместимость с коммутатором / маршрутизатором / док-станцией
  • Старая прошивка
  • Недостаток питания у USB NIC
  • Ошибки на стороне порта
  • Потери пакетов и повторные передачи

Особенно при падении до 100 Mbps, флаппинге линка и поломке только на больших передачах быстрее сначала проверить физику и оборудование на другом конце, а не настройки.

Сначала физический уровень и оборудование на другом концеПри падении до 100 Mbps, флапе линка или поломке только на больших передачах быстрее сначала проверить кабель и оборудование на другом конце, а не настройки NIC.если осталосьСимптомы вроде downshift и флаппингаСначала кабель, сосед и физический уровеньИзоляция настроек NICЕсть проблемы, которые настройки не лечат

Рис. 6: Симптомы линка быстрее проверять с физического уровня и оборудования на другом конце, а не с настроек.

3.3 Менять по одному параметру за раз

Если разом изменить Jumbo, LSO, RSC, RSS и EEE, вы не поймёте, что именно сработало. Базовое правило — записать настройки до изменения, менять их по одному пункту и измерять изменения.

3.4 Решить, что измерять

Как минимум стоит смотреть следующее.

  • Скорость линка (1G / 2.5G / 10G и т. д.)
  • Пропускная способность
  • Задержка
  • Загрузка CPU
  • Статистика NIC (drop / error / нехватка буфера)
  • Стабильность выхода из сна

Изменения настроек убедительнее оценивать не «на ощупь», а по цифрам.

Менять по одному пункту и сравнивать по цифрамБазовый поток изменения: записать настройки до правки, изменить один пункт, измерить заранее выбранные показатели и сравнить до и после по цифрам, а не по ощущению.Записать настройки до измененияИзменить один пунктИзмерить выбранные показателиСравнить по цифрам, не по ощущению

Рис. 7: Базовый шаблон — менять по одному пункту и сравнивать до и после по цифрам.

4. Сводная таблица основных настроек

Сначала — таблица, где роль каждой настройки видна на одном экране.

Настройка Что делает Что обычно происходит при повышении / включении Что обычно происходит при понижении / отключении Базовая политика
Speed & Duplex Согласование / фиксация скорости линка и duplex Со старым оборудованием связь иногда налаживается, но при рассогласовании — duplex mismatch и падение скорости Возврат к Auto на современном оборудовании обычно стабильнее По умолчанию Auto
Jumbo Packet / Jumbo Frames Кадры больше обычного MTU На больших передачах чаще падают CPU и накладные расходы на заголовки Совместимость выше, но пакетов больше Только на выделенном пути, согласованном end-to-end
Checksum Offload Контрольные суммы IP / TCP / UDP считает NIC CPU обычно снижается Больше расчётов на стороне ОС, CPU обычно растёт Как правило включено
LSO / TSO Большие TCP-отправки режет NIC Помогает send-heavy throughput и CPU Нагрузка на CPU растёт, но удобно для изоляции совместимости Обычно включено
RSC / LRO Принятые TCP-сегменты NIC собирает вместе Помогает throughput приёма и CPU Гранулярность мельче, иногда выгоднее для низкой задержки Включено, если важен приём
RSS Обработку приёма распределяет по нескольким CPU На multi-core чаще растут throughput и масштабируемость Нагрузка садится на один CPU и легче образует затор На multi-core по умолчанию включено
Interrupt Moderation Ограничивает частоту прерываний CPU легче, но latency чаще растёт latency падает, но нагрузка CPU / DPC чаще растёт Отправная точка — значение по умолчанию / Adaptive
Receive / Transmit Buffers Глубина кольца / буфера Помогает устойчивости к всплескам и sustained throughput Меньше памяти, но слабее к drop Увеличивать только при нехватке
Flow Control Отправка и приём pause-кадров 802.3x Иногда снижает drop Иногда выгоднее для tail latency Согласовывать с проектом сети в целом
Priority & VLAN Теги 802.1p / 802.1Q Можно использовать VLAN / QoS Работает как простой L2 Только когда нужно
VMQ / SR-IOV Поддержка NIC для Hyper-V / виртуализации Влияет на throughput / CPU виртуальных машин Как обычный хост становится проще Для хостов Hyper-V
EEE / Green Ethernet Low-Power Idle ради экономии энергии Потребление падает, но бывают проблемы совместимости Потребление растёт, но иногда стабильнее Это не настройка скорости
Selective Suspend Снижает потребление NIC в idle Потребление падает Иногда стабильнее выход из сна Кандидат на изоляцию при сбоях
Wake on Magic Packet / Pattern Match Условия пробуждения во сне Можно будить удалённо Легче предотвратить нежелательное пробуждение Включать только когда нужно

5. Настройки линка и размера кадра

5.1 Speed & Duplex

Это настройка согласования скорости линка и полного / полудуплекса. Встречающиеся имена: Speed & Duplex, Link Speed, Link Speed & Duplex.

Что делает эта настройка

В Ethernet NIC и оборудование на другом конце договариваются, на какой скорости и в каком duplex вести обмен.

Часто встречаются такие варианты:

  • Auto Negotiation
  • 100 Mbps Full Duplex
  • 1.0 Gbps Full Duplex
  • 2.5 Gbps Full Duplex
  • 10 Gbps Full Duplex

Что меняется при изменении

Если выставить Auto

  • Между современными устройствами это, как правило, самый стабильный вариант
  • Начиная с 1000BASE-T Auto часто предполагается по умолчанию
  • Это также хорошо согласуется с EEE и согласованием master/slave

Если зафиксировать вручную

  • Иногда улучшает совместимость со старыми коммутаторами или оборудованием, у которого режим уже принудительно зафиксирован
  • Однако состояние «одна сторона зафиксирована, другая на Auto» — источник проблем
  • Duplex mismatch приводит к падению скорости, повторным передачам и аномальным задержкам

Базовая политика на практике

В обычном случае достаточно оставить Auto. «Раз не выходит 1 Gbps — зафиксируем 1 Gbps Full» выглядит решительно, но чаще бьёт мимо цели.

Как односторонняя фиксация приводит к duplex mismatchСостояние «одна сторона зафиксирована, другая на Auto» даёт duplex mismatch и приводит к падению скорости, повторным передачам и аномальным задержкам; между современными устройствами стабильнее Auto с обеих сторон.между современными устройствамиОдна сторона зафиксирована, другая Autoduplex mismatchПадение скорости, повторные передачи, аномальная задержкаОбе стороны AutoКак правило, самый стабильный вариант

Рис. 8: Смесь фиксации и Auto даёт duplex mismatch, поэтому обычно обе стороны оставляют на Auto.

5.2 Jumbo Packet / Jumbo Frames

Это настройка кадров Ethernet крупнее стандартных. Встречающиеся имена: Jumbo Packet, Jumbo Frames, Jumbo Packet Size.

Что делает эта настройка

Обычный Ethernet чаще всего рассчитан на MTU 1500. Если включить Jumbo Frame, становятся доступны крупные кадры около 9000 байт.

Но здесь много ловушек, связанных с именами.

  • Драйвер может показывать размер кадра, например 9014 Bytes
  • ОС и утилиты могут смотреть на это с точки зрения L3, например MTU 9000
  • Коммутатор может считать с учётом CRC и VLAN-тега

Если сравнивать эти числа просто «в лоб», попасться — совершенно обычное дело.

Разные способы считать цифры JumboПри одной и той же настройке Jumbo драйвер может показывать размер кадра, ОС и утилиты — MTU с точки зрения L3, а коммутатор — с учётом CRC и VLAN-тега; сравнивать эти числа в лоб опасно.Драйвер: размер кадраОдно и то же считают по-разномуОС и утилиты: MTU с точки зрения L3Коммутатор: с тегом и CRCСравнение цифр в лоб даёт ловушку

Рис. 9: Драйвер, ОС и коммутатор считают по-разному, поэтому цифры Jumbo не сравнивают в лоб.

Что меняется при изменении

Увеличить / включить

  • При передаче больших данных меньше пакетов
  • Меньше обработок заголовков
  • CPU обычно снижается
  • В то же время время занятости канала одним пакетом растёт
  • Если где-то на пути настройка не поддерживается, это приводит к drop или фрагментации

Вернуть к стандарту / отключить

  • Совместимость максимальна
  • Пакетов больше
  • На больших передачах обычно растут CPU и накладные расходы на заголовки

Базовая политика на практике

Jumbo имеет смысл только когда согласован end-to-end:

  • ваш NIC
  • NIC на другом конце
  • коммутаторы на пути
  • накладные расходы VLAN или виртуальных коммутаторов, если они есть на пути

Если хоть один из этих элементов остаётся на 1500, эффекта не будет — более того, это станет источником сбоев.

Jumbo имеет смысл только когда согласован end-to-endJumbo Frame имеет смысл только когда согласованы ваш NIC, промежуточные коммутаторы и NIC на другом конце; если хоть один остаётся на 1500, эффекта нет, и это становится источником сбоев.кто-то остаётся на 1500Ваш NICКоммутаторы на путиNIC на другом концеСмысл появляется, только когда все согласованыНет эффекта, источник сбоев

Рис. 10: Jumbo предполагает, что все на пути согласованы; если хоть одно место остаётся на 1500, эффект обратный.

5.3 Gigabit Master / Slave Mode

Эта настройка для 1000BASE-T определяет, какая сторона выступает master и задаёт тактовую синхронизацию, а какая — slave. На обычном ПК её почти никогда не трогают.

Базовая политика

  • Базовый вариант — Auto
  • Оценивать изменение стоит только при проблемах с качеством линка с конкретным старым оборудованием
  • Пока нет указаний производителя, не рассматривайте её как рычаг настройки производительности

Настройки вроде Wait for Link определяют, ждёт ли драйвер успешного завершения auto negotiation, прежде чем сообщить состояние линка. Log Link State Event — диагностическая настройка, которая пишет события link up/down в журнал событий.

Базовая политика

  • На обычном ПК можно оставить значения по умолчанию
  • Эти настройки важнее не для самой производительности, а для того, как состояние выглядит при загрузке, и для диагностики failover
  • Не тот пункт, который стоит трогать в первую очередь

6. Настройки, которые влияют на CPU, пропускную способность и задержку

Это полоса, которая выглядит самой «многообещающей». Она действительно часто влияет на результат, но направление эффекта чётко расходится.

У этой полосы настроек направления эффекта расходятсяНастройки, которые влияют на нагрузку CPU, пропускную способность и задержку, расходятся на направление «обрабатывать пакетами» (выгоднее throughput и CPU) и направление «обрабатывать мельче» (выгоднее задержка).Полоса настроек, которая выглядит многообещающейОбрабатывать пакетамиОбрабатывать мельчеВыгоднее throughput и CPUВыгоднее задержка

Рис. 11: Даже в одной полосе настроек направления «в сторону throughput» и «в сторону задержки» расходятся.

6.1 Checksum Offload

Настройка, которая переносит расчёт контрольных сумм IP / TCP / UDP на NIC.

Базовая политика

  • Как правило включено
  • Оставляйте включённым, если хотите снизить нагрузку на CPU
  • checksum error в захвате часто — просто то, как выглядит offload
  • Временное отключение для изоляции совместимости допустимо

6.2 Large Send Offload (LSO) / TSO / Offload TCP Segmentation

Настройка, при которой большие TCP-отправки NIC сам режет на мелкие кадры.

На что влияет

  • send-heavy throughput
  • снижение загрузки CPU
  • крупные непрерывные передачи

Базовая политика

  • Обычно включено
  • При подозрении на несовместимость конкретного приложения или драйвера временно отключите и сравните разницу

6.3 Receive Segment Coalescing (RSC) / Large Receive Offload

Настройка, которая на приёме собирает несколько TCP-сегментов вместе.

На что влияет

  • throughput на приёме
  • снижение загрузки CPU

На что обратить внимание

  • Может быть невыгодной для низкой задержки или наблюдения на уровне отдельных пакетов
  • Немного меняет интерпретацию захвата и замеров времени

Базовая политика

  • Если хотите throughput приёма — включено
  • Если смотрите latency мелких request/response — кандидат на оценку
Как работает RSC и где проходит граница оценкиRSC собирает несколько принятых TCP-сегментов на стороне NIC и помогает throughput приёма и снижению CPU; при приоритете низкой задержки или наблюдения на уровне пакетов может мешать и становится кандидатом на оценку.если важнее низкая задержка и наблюдениеНесколько принятых TCP-сегментовNIC собирает их вместе (RSC)Помогает throughput приёма и CPUМожет мешать — кандидат на оценку

Рис. 12: RSC собирает приём в более крупные порции; если важнее задержка, это кандидат на оценку.

6.4 Более новые UDP-offload (USO / URO)

На современных NIC и в новых версиях ОС для отправки и приёма UDP тоже могут появляться более новые offload-настройки.

Базовая политика

  • Даже если такие пункты есть, для начала не уходите от значений по умолчанию
  • Измеряйте эффект только когда драйвер достаточно новый, а целевая нагрузка ясно определена
  • При устранении неполадок не трогайте их без крайней необходимости

6.5 Receive Side Scaling (RSS)

Настройка, которая распределяет обработку приёма по нескольким CPU. В multi-core среде она весьма важна.

Базовая политика

  • На multi-core по умолчанию включено
  • В первую очередь проверяйте её при симптоме «нагрузка сидит на одном CPU»
  • Она часто выходит на первый план и перед Hyper-V, и перед задачами с высокой пропускной способностью
Как RSS меняет обработку приёмаЕсли RSS выключен, обработка приёма садится на один CPU и легче образует затор; если включён, нагрузка распределяется по нескольким CPU и на multi-core чаще растёт throughput.RSS выключенRSS включёнВходящий трафикСадится на один CPU и легче образует заторРаспределяется по нескольким CPUНа multi-core легче масштабируется

Рис. 13: RSS распределяет обработку приёма по нескольким CPU; при симптоме «нагрузка сидит на одном CPU» его проверяют в первую очередь.

6.6 RSS Queues / RSS Processors / RSS Profile

Параметры, которые задают степень параллелизма RSS.

Базовая политика

  • Начинайте со значений по умолчанию
  • Увеличивайте только после того, как увидите загрузку CPU или перекос очередей
  • Бездумное увеличение до максимума может повысить нагрузку от прерываний и DPC

6.7 Interrupt Moderation / Interrupt Moderation Rate

Настройка, которая ограничивает частоту прерываний и меняет нагрузку CPU на latency.

Тенденции

  • Выше / Adaptive → CPU обычно разгружается, но latency обычно растёт
  • Ниже / Off → latency обычно падает, но нагрузка CPU / DPC обычно растёт

Базовая политика

  • Отправная точка — значение по умолчанию / Adaptive
  • Если беспокоит jitter мелких пакетов, оцените Low / Off
  • Для больших передач значение по умолчанию обычно более разумный выбор
Компромисс Interrupt ModerationБолее высокие значения или Adaptive разгружают CPU, но задержка чаще растёт; более низкие или Off снижают задержку, но нагрузка CPU и DPC чаще растёт.выше / Adaptiveниже / OffInterrupt ModerationCPU обычно разгружаетсяЗадержка чаще растётЗадержка обычно падаетНагрузка CPU / DPC чаще растёт

Рис. 14: Ограничение частоты прерываний — обмен CPU на задержку; оценку начинают со значения по умолчанию или Adaptive.

6.8 Receive Buffers / Receive Descriptors и Transmit Buffers / Transmit Descriptors

Настройка, которая меняет глубину кольца / буфера.

На что влияет

  • устойчивость к всплескам
  • sustained throughput
  • предотвращение drop

Побочные эффекты

  • растёт расход памяти
  • более глубокая очередь может увеличить задержку ожидания в очереди

Базовая политика

  • Увеличивайте только тогда, когда видны drop или buffer shortage
  • Избегайте выставления максимума «на всякий случай»
Когда увеличивать глубину буфераБолее глубокий буфер помогает устойчивости к всплескам и снижению drop, но увеличивает расход памяти и задержку в очереди; увеличивать стоит только когда drop или buffer shortage уже видны.только когда видныизбегатьВидны drop или buffer shortageУвеличить буферМогут вырасти расход памяти и задержка в очередиМаксимум «на всякий случай»

Рис. 15: Буфер увеличивают, когда симптом уже виден в цифрах; максимум «на всякий случай» не ставят.

6.9 Flow Control

Настройка, связанная с отправкой и приёмом pause-кадров 802.3x.

Базовая политика

  • Кандидат, если нужно снизить drop
  • Однако pause иногда разносит перегрузку в другое место сети
  • В системах с низкой задержкой подходите к ней осторожно
  • Рассматривайте вместе с проектом сети в целом
Две стороны Flow ControlPause-кадры Flow Control иногда снижают drop, но иногда разносят перегрузку в другое место, поэтому решение принимают вместе с проектом сети в целом.иногда помогаетиногда разноситpause-кадр (Flow Control)Снижает dropДругая перегрузкаРешение вместе с проектом сети в целом

Рис. 16: Flow Control снижает drop, но может разнести перегрузку; по одному параметру его не судят.

7. Настройки VLAN, QoS и виртуализации

7.1 Priority & VLAN / Packet Priority & VLAN / NDIS QoS

Полоса, которая отвечает за VLAN 802.1Q и приоритеты 802.1p.

Базовая политика

  • Обращайте на неё внимание только когда VLAN / QoS действительно используются
  • В простой конфигурации access-порта можно оставить значения по умолчанию
  • Конфигурация, где теги появляются сами собой, усложняет диагностику — будьте внимательны

7.2 VMQ / VMMQ / SR-IOV

Эта настройка приобретает смысл только на хостах Hyper-V и платформах виртуализации.

Базовая политика

  • Не рассматривайте её как обычную настройку тюнинга десктопа
  • На хосте Hyper-V оценивайте её вместе с конфигурацией vSwitch, распределением очередей и настройками на стороне гостя
  • Глядя только на одну сторону, правильный ответ найти трудно
Единица оценки VMQ / SR-IOVVMQ и SR-IOV имеют смысл на хосте Hyper-V и платформе виртуализации; их оценивают вместе с конфигурацией vSwitch, распределением очередей и настройками гостя, а не по одной стороне.не рассматриватьVMQ / VMMQ / SR-IOVСмысл появляется на хосте Hyper-VОценивать вместе с vSwitch, очередями и гостемОбычный тюнинг десктопа

Рис. 17: Настройки виртуализации можно оценить, только если смотреть хост, vSwitch и гостя вместе.

7.3 RDMA / DCB / PFC — отдельный мир

Эта область, включая SMB Direct и lossless Ethernet, — совершенно отдельный мир.

Базовая политика

  • Рассматривайте отдельно от обычной настройки десктопных 1GbE / 2.5GbE
  • Проверяйте вместе с материалами производителя и проектированием на стороне коммутатора

8. Настройки энергосбережения, сна и Wake on LAN

8.1 Energy Efficient Ethernet (EEE) / Green Ethernet

Настройка, которая ради экономии энергии снижает потребление линка в idle.

Как на неё смотреть

  • Это не настройка ускорения
  • Она влияет на энергопотребление
  • В зависимости от оборудования на другом конце и состояния кабеля она становится кандидатом на изоляцию при нестабильности линка или переходе на 100 Mbps

Базовая политика

  • Для общего использования можно оставить значения по умолчанию
  • При нестабильности линка, переходе на 100 Mbps или приоритете низкой задержки — в первую очередь кандидат на отключение при изоляции
Место EEE среди настроекEEE — настройка энергосбережения, которая снижает потребление линка в idle, а не скорость; в зависимости от оборудования на другом конце и кабеля она становится кандидатом на изоляцию нестабильности линка и downshift до 100 Mbps.это не настройка ускоренияв зависимости от соседа и кабеляEEE / Green EthernetСнижает потребление в idleСкорость и производительностьКандидат на изоляцию нестабильности линка и downshift

Рис. 18: EEE — настройка энергосбережения; при нестабильности линка или переходе на 100 Mbps её в первую очередь берут в изоляцию.

8.2 Selective Suspend / Device Sleep / управление линком в режиме ожидания

Проще говоря, это настройка того, насколько глубоко NIC разрешено «засыпать» в idle или во сне системы.

Базовая политика

  • На ноутбуках начинайте со значений по умолчанию
  • При проблемах с выходом из сна подозревайте её в первую очередь
  • На управляющих оборудованием ПК и при работе 24/7 зачастую понятнее просто отключить её

8.3 Wake on Magic Packet / Wake on Pattern Match

Настройка, чтобы будить спящий ПК по сети.

Базовая политика

  • Если нужен Wake on LAN — включите Magic Packet
  • Если не нужен — отключите
  • Pattern Match — только когда необходимость очевидна

Совершенно обычное дело, когда включения только на NIC недостаточно для пробуждения. Проверяйте согласованность и на стороне BIOS / UEFI, и на вкладке Power Management.

Условия, при которых работает Wake on LANWake on LAN срабатывает только когда согласованы настройка Magic Packet на NIC, сторона BIOS/UEFI и вкладка Power Management; все три места нужно проверить вместе.Настройка Magic Packet на NICWake on LAN срабатываетНастройки BIOS / UEFIВкладка Power ManagementPattern Match легко даёт ложные пробуждения

Рис. 19: WoL работает только когда согласованы NIC, BIOS/UEFI и вкладка управления питанием.

8.4 ARP Offload / NS Offload

Настройка, при которой NIC берёт на себя минимальные ответы даже во время сна системы.

Базовая политика

  • Обычно достаточно включённого состояния / значения по умолчанию
  • Чаще всего её временно трогают при изоляции проблем совместимости, связанных со сном

8.5 Настройки на вкладке Power Management

Помимо вкладки Advanced, в свойствах NIC есть вкладка Power Management. Она тоже неприметно, но важна.

Чаще всего встречаются такие три пункта:

  • Allow the computer to turn off this device to save power
  • Allow this device to wake the computer
  • Only allow a magic packet to wake the computer

Базовая политика

  • При проблемах с выходом из сна в первую очередь подозревайте Allow the computer to turn off this device...
  • Чтобы избежать ложных пробуждений, включите Only allow a magic packet...
  • Если Wake on LAN вообще не нужен, все настройки пробуждения можно отключить
Как смотреть вкладку Power ManagementПри сбое выхода из сна сначала подозревают разрешение отключать устройство; чтобы избежать ложных пробуждений, включают пробуждение только Magic Packet; если Wake on LAN не нужен, все wake-настройки отключают.сбой выхода из снаизбежать ложных пробужденийWoL сам по себе не нуженЧто именно беспокоитСначала подозревать разрешение отключать питаниеБудить только Magic PacketВсе wake-настройки отключить

Рис. 20: На вкладке Power Management первое место, которое трогают, зависит от типа проблемы.

9. Другие настройки, которые часто встречаются, но редко требуют вмешательства

9.1 Network Address / Locally Administered Address

Настройка для ручной перезаписи MAC-адреса.

Базовая политика

  • Обычно её не трогают
  • Это не настройка производительности
  • Используется только в лабораторных условиях или при особых требованиях

9.2 Adaptive Inter-Frame Spacing

Довольно старая настройка. В современном коммутируемом полнодуплексном Ethernet она не играет главной роли.

Базовая политика

  • В современной обычной локальной сети оставляйте значение по умолчанию
  • Трогайте только при наличии указаний производителя для старого оборудования или особых условий

9.3 Header Data Split

Настройка, в основном для серверов, которая помогает обработке CPU за счёт раздельной работы с заголовком пакета и полезной нагрузкой.

Базовая политика

  • Для серверов / для конкретных нагрузок
  • На обычных клиентских машинах оставляйте значение по умолчанию

9.4 Low Latency Interrupts

У некоторых производителей встречается пункт вроде Low Latency Interrupts.

Базовая политика

  • Используйте только тогда, когда измерения подтверждают выигрыш
  • Не та настройка, которую включают «по ощущениям»

9.5 Устаревшие пункты вроде TCP Chimney Offload / IPsec Task Offload

На старых NIC и драйверах такие пункты иногда встречаются.

Базовая политика

  • Правильный ответ сегодня — не трогать, не использовать
  • Не следуйте за старой документацией или соображениями совместимости из прошлого
Общий подход к пунктам главы 9Перезапись MAC-адреса, старые настройки, серверные пункты и устаревшие offload обычно оставляют по умолчанию и трогают только при указании производителя, явных требованиях и измерениях.трогать, только еслиПункты главы 9Обычно не трогать, оставлять по умолчаниюЕсть указание производителя или явное требованиеИспользовать, только когда измерение подтверждает выигрыш

Рис. 21: Полоса, которую обычно не трогают, даже если пункт виден; руки туда только при явном указании, требовании и измерении.

10. Ориентиры по целям

Ниже много раз встречаются формулировки «оценка отключения» и «кандидат на отключение». Это не «отключите», а возьмите в оценку. Содержимое — те же принципы 3.3 и 3.4, конкретно эти четыре шага.

  1. Сохранить настройки до изменения (Export-Csv из 12.1)
  2. Отключить только один пункт (3.3)
  3. Измерить показатели из 3.4 (пропускная способность, задержка, CPU, статистика NIC, стабильность выхода из сна)
  4. Если эффекта нет — вернуть как было

Если шаг 4 пропускают, бессмысленные изменения копятся, и следующий разбор становится труднее. Каждый пункт ниже читайте как список кандидатов, по которым прогоняют эти четыре шага.

Четыре шага оценки отключенияЦикл оценки отключения: сохранить настройки до изменения, отключить один пункт, измерить выбранные показатели и при отсутствии эффекта вернуть как было.если эффекта нетк следующему кандидатуСохранить настройки до измененияОтключить только один пунктИзмерить выбранные показателиВернуть как было

Рис. 22: «Оценка отключения» — не «отключите», а прогон этих четырёх шагов с измерением.

10.1 Обычный настольный ПК / ноутбук

  • Speed & Duplex: Auto
  • MTU / Jumbo: 1500 / отключено
  • Checksum Offload: включено
  • LSO: включено
  • RSC: включено
  • RSS: включено
  • Interrupt Moderation: значение по умолчанию / Adaptive
  • Buffers: значения по умолчанию
  • Flow Control: значения по умолчанию
  • EEE / Green Ethernet: значения по умолчанию
  • Selective Suspend: значения по умолчанию
  • Wake on LAN: только когда нужно

Иными словами, базовое правило — сначала не уходить от значений по умолчанию.

10.2 NAS / резервное копирование / копирование больших объёмов

  • Speed & Duplex: Auto
  • Jumbo: оценить, если можно согласовать выделенный путь
  • Checksum Offload: включено
  • LSO: включено
  • RSC: включено
  • RSS: включено
  • RSS queues: немного увеличить при необходимости
  • Receive / Transmit Buffers: немного увеличить, если есть drop
  • Interrupt Moderation: значение по умолчанию / чуть выше
  • EEE: оценка отключения, если важнее стабильность

На больших передачах обычно помогают снижение числа пакетов, снижение нагрузки на CPU и предотвращение нехватки очередей.

10.3 Промышленные камеры / управление оборудованием / приоритет низкой задержки

  • Speed & Duplex: по умолчанию Auto; при необходимости зафиксировать в соответствии с оборудованием на другом конце
  • Jumbo: оценить, если согласованы камера / NIC / коммутатор
  • Checksum Offload: сначала включить
  • LSO: временно оценить отключение, если подозреваете несовместимость на отправке
  • RSC: кандидат на отключение, если приоритет — низкая задержка или наблюдение
  • Interrupt Moderation: оценить Low / Off
  • Buffers: не увеличивать чрезмерно
  • Flow Control: нужна оценка побочных эффектов pause-кадров
  • EEE / Green Ethernet: кандидат на отключение
  • Selective Suspend / управление питанием: кандидат на отключение

Настройки, оптимизированные под пропускную способность, не всегда выгодны для низкой задержки.

10.4 Хосты Hyper-V

  • VMQ / VMMQ / SR-IOV: оценивать в зависимости от конфигурации
  • RSS: важен для трафика на стороне хоста
  • RSC: ограничен конфигурацией vSwitch
  • QoS / VLAN: согласовывать с проектированием vSwitch
  • Flow Control / PFC: рассматривать вместе с проектированием хранилища / RDMA

Это не настройка десктопа, а проектирование платформы виртуализации.

10.5 Временные настройки для устранения неполадок

При изоляции дефекта эффективно временно вернуться к простому базовому состоянию.

  • Speed & Duplex: Auto
  • MTU: 1500
  • Jumbo: отключено
  • EEE: отключено
  • LSO: временно отключено
  • RSC: временно отключено
  • Interrupt Moderation: значение по умолчанию или ниже
  • Wake / энергосбережение: отключено, если не нужно
  • Настройки до изменения: обязательно сохранить

При изоляции проблемы упрощение поведения важнее оптимизации производительности.

11. С чего начать проверку по типу симптома

11.1 Должно быть 1 Gbps / 2.5 Gbps, а получается 100 Mbps

Порядок проверки примерно такой.

  1. Кабель
  2. Док-станция / USB NIC / переходник
  3. Порт на стороне коммутатора
  4. Обновление драйвера
  5. EEE / Green Ethernet
  6. Возврат Speed & Duplex к Auto
  7. Если ничего не помогло — попробовать фиксацию, согласованную с оборудованием на другом конце

Сразу переходить к ручной фиксации — это последний шаг, а не первый.

Порядок проверки при падении до 100 MbpsПорядок такой: кабель, док-станция или USB NIC, порт коммутатора, обновление драйвера, изоляция EEE, возврат к Auto Negotiation и только если ничего не помогло — фиксация, согласованная с оборудованием на другом конце.если ничего не помоглоКабельДок-станция / USB NIC / переходникПорт на стороне коммутатораОбновление драйвераИзоляция EEESpeed & Duplex вернуть в AutoФиксация, согласованная с другим концом

Рис. 23: Расследование downshift идут от физики; ручная фиксация — крайняя мера.

11.2 Большие передачи медленные, но ping в норме

Стоит проверить следующее.

  • Checksum Offload
  • LSO
  • RSC
  • RSS
  • Receive / Transmit Buffers
  • Jumbo Frame (если путь выделенный)
  • drop / error в статистике NIC

Это проблема класса throughput, поэтому обычно помогают Jumbo, настройка очередей и offload.

11.3 Большая задержка мелких request/response, беспокоит jitter

Стоит проверить следующие пять пунктов.

  • Interrupt Moderation
  • RSC
  • EEE
  • Flow Control
  • Не завышены ли буферы

В этой области оптимизации, ориентированные на пакетную обработку, могут, наоборот, увеличить ощутимую задержку.

11.4 После выхода из сна NIC исчезает / несколько секунд нет связи

В первую очередь, с фокусом на электропитание, стоит проверить эти пять пунктов.

  • Selective Suspend
  • Настройки, связанные с Device Sleep / Standby
  • Allow the computer to turn off this device... на вкладке Power Management
  • Прошивка док-станции / USB NIC
  • Комбинация настроек пробуждения

Проблемы с выходом из сна чаще связаны с управлением электропитанием, чем с самим NIC.

11.5 В захвате пакетов видно множество ошибок контрольной суммы

Прежде чем поспешно заявлять «линия сломана», проверьте следующее.

  • Включён ли Checksum Offload
  • Включён ли LSO
  • Захват выполнен до отправки или уже на канале
  • Совпадает ли картина при просмотре с другого хоста или через зеркальный порт

Ошибки контрольной суммы в локальном захвате действительно очень часто — это просто то, как выглядит offload.

Третий пункт — «захват выполнен до отправки или уже на канале» — стоит пояснить отдельно. Если захватывать на своём ПК, видны пакеты до того, как NIC заполнит checksum. При включённом offload поле checksum ещё пустое или содержит временное значение, поэтому анализатор закономерно показывает «неверно». На деле пакеты, которые уже пошли по кабелю, часто корректны.

Почему локальный захват показывает checksum errorЗахват на своём ПК видит пакеты до того, как NIC заполнит checksum, поэтому при включённом offload анализатор показывает ошибку; пакеты на кабеле при этом могут быть корректными.Захват на своём ПКВидны пакеты до заполнения checksumИнструмент показывает ошибкуСмотреть wire через зеркальный портРеальные пакеты корректныСравнение обоих видов подтверждает, что это вид offload

Рис. 24: Точка локального захвата находится до NIC, поэтому ошибки при включённом offload чаще оказываются вопросом того, как это выглядит.

Для проверки обычно используют такие три средства.

Средство Роль Замечание
Wireshark Привычный GUI анализа Есть настройка отключить проверку checksum. В среде с offload это первое, что стоит заподозрить
pktmon Штатный инструмент наблюдения за пакетами начиная с Windows 10 / Windows Server 2019 (1809) Дополнительная установка не нужна. Умеет детектировать drop пакетов и фильтровать
Зеркальный порт коммутатора Единственный надёжный способ смотреть wire Смотрит снаружи исходного ПК, поэтому на картину не влияет offload

Журнал pktmon можно преобразовать в pcapng, и тогда его открывают в Wireshark как есть.

pktmon etl2pcap log.etl --out capture.pcapng

Если «локально — checksum error, на зеркальном порте — норма», это вид offload, и на этом точка ставится. Настройки трогают уже после этой проверки.

11.6 Только виртуальные машины Hyper-V работают медленно / перекос по CPU

Смотреть нужно не только на «десктопный» RSS.

  • VMQ / VMMQ
  • SR-IOV
  • привязка vSwitch
  • VLAN / QoS
  • разделение работы между RSS на стороне хоста и очередями на стороне VM

В виртуализации проще разобраться, если изобразить схематично, кто именно обрабатывает пакеты.

12. Практические заметки при проверке и изменении настроек через PowerShell

12.1 Сначала сохранить текущее состояние

Резервная копия перед изменением важна.

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Select-Object Name, DisplayName, DisplayValue, RegistryKeyword, RegistryValue |
  Export-Csv .\nic-advanced-backup.csv -NoTypeInformation -Encoding UTF8

12.2 Просмотр списка

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Sort-Object DisplayName |
  Format-Table DisplayName, DisplayValue, RegistryKeyword -Auto

12.3 Просмотр RSS / RSC / статистики

Get-NetAdapterRss -Name "Ethernet"
Get-NetAdapterRsc -Name "Ethernet"
Get-NetAdapterStatistics -Name "Ethernet"

12.4 Примеры изменения

Реальные отображаемые имена различаются для каждого NIC, поэтому сначала посмотрите список, а затем меняйте.

# Пример: изменить Jumbo Packet (значение зависит от NIC)
Set-NetAdapterAdvancedProperty -Name "Ethernet" `
  -DisplayName "Jumbo Packet" `
  -DisplayValue "9014 Bytes"
# Пример: задать число приёмных очередей RSS
Set-NetAdapterRss -Name "Ethernet" -NumberOfReceiveQueues 4

12.5 Проверка связи для Jumbo

# Эквивалент стандартного MTU 1500
ping <IP-получателя> -f -l 1472

# Эквивалент MTU 9000
ping <IP-получателя> -f -l 8972

1472 и 8972 — это размер полезной нагрузки за вычетом заголовков IP / ICMP. Эти числа в ping не совпадают с 9014 Bytes, которые показывает интерфейс драйвера.

12.6 Практические заметки

  • Для части настроек требуется отключение/включение адаптера или перезагрузка
  • DisplayName иногда бывает локализован
  • Даже у одного производителя названия пунктов могут меняться в зависимости от версии драйвера
  • Если автоматизируете через PowerShell, безопаснее сначала перечислить значения на реальной машине, а уже потом писать скрипт

13. Итог

Если смотреть только на названия пунктов, все расширенные настройки NIC в Windows выглядят «мощно». Но на деле это мир, где правильный ответ зависит от того, за что вы боретесь — throughput, latency, CPU, power или compatibility.

Ключевые моменты этой статьи:

  • Speed & Duplex по умолчанию — Auto
  • Jumbo — только когда согласован end-to-end
  • Checksum / RSS / LSO / RSC: как правило, сильнее всего значения по умолчанию
  • Interrupt Moderation — компромисс между пропускной способностью и задержкой
  • Buffers — увеличивать ровно настолько, насколько нужно
  • EEE / Selective Suspend / настройки Wake — это вопрос энергопотребления и выхода из сна
  • VMQ / SR-IOV — вопрос Hyper-V
  • Устаревшие offload-пункты не трогать

И самое важное — вот эти три пункта.

  1. Решить, что именно вы хотите улучшить
  2. Менять по одному параметру за раз
  3. Сравнивать результат до и после по цифрам

Настройки NIC — это не волшебный переключатель ускорения. Однако, если цель выбрана верно, они дают заметный эффект. И наоборот, если цель выбрана неверно, они столь же откровенно бьют в обратную сторону.

Три самых важных шаблонаЕсли решить, что улучшить, менять по одному пункту и сравнивать до и после по цифрам, настройки NIC заметно помогают, пока цель выбрана верно.если цель смещенаРешить, что именно улучшитьМенять по одному параметру за разСравнивать до и после по цифрамЕсли цель верна, эффект заметныйОткровенно бьёт в обратную сторону

Рис. 25: Три шаблона — цель, один пункт, цифры — дают эффект; если их нарушить, эффект обратный.

14. Источники

Ниже перечислены официальные и вендорские материалы, на которые мы опирались при написании этой статьи. В терминологии Windows и драйверов NIC много расхождений, поэтому в конечном счёте безопаснее сверяться с названием и версией драйвера конкретно вашего NIC.

Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.

Эти страницы показывают тему статьи в более широком контексте услуг и решений.

Статья напрямую связана со следующими услугами.

Технические консультации и ревью дизайна

Тема требует разбора не только самих настроек NIC, но и всего пути передачи, паттернов отправки и приёма в приложении и условий длительной работы, поэтому она хорошо сочетается с технической консультацией и ревью архитектуры.

Частые вопросы

Вопросы, которые часто возникают при консультациях по теме статьи.

Стоит ли отключать Large Send Offload (LSO)?
Как правило, эту настройку лучше оставлять включённой. LSO — механизм, при котором большие TCP-отправки NIC сам режет на мелкие кадры; он помогает пропускной способности при интенсивной передаче и снижает загрузку CPU. Если отключить его «на всякий случай», CPU чаще начинает тратиться впустую. Отключение имеет смысл либо как временный шаг изоляции — выключить, сравнить разницу, если подозреваете несовместимость конкретного приложения или драйвера, — либо когда нужно оценить совместимость передачи, например для промышленных камер или управления оборудованием. Даже если вы отключили параметр при разборе, базовое правило — вернуть значение по умолчанию, как только выяснится, что причина в другом.
Что такое Receive Segment Coalescing (RSC)? Стоит ли его отключать?
RSC — настройка, при которой несколько принятых TCP-сегментов NIC собирает вместе; её также называют Large Receive Offload. Она помогает пропускной способности приёма и снижению загрузки CPU, поэтому если важен приём, базовая политика — оставлять её включённой. С другой стороны, она может мешать низкой задержке и наблюдению на уровне отдельных пакетов, а интерпретация захвата и замеров времени немного меняется. Если нужно ужать задержку мелких request/response или в среде, где важнее низкая задержка и наблюдение, отключение становится кандидатом на оценку. Текущее состояние смотрите командой Get-NetAdapterRsc.
Должно быть 1 Gbps, а линк встаёт на 100 Mbps — что проверить?
Сразу фиксировать Speed & Duplex вручную — крайняя мера. Порядок такой: сначала кабель, затем док-станция / USB NIC / переходник, порт на стороне коммутатора, обновление драйвера, изоляция EEE / Green Ethernet, возврат Speed & Duplex к Auto и только если ничего не помогло — фиксация, согласованная с оборудованием на другом конце. Переход на 100 Mbps и обрывы линка чаще связаны с физическим уровнем и оборудованием на другом конце, а не с настройками NIC. Состояние «одна сторона зафиксирована, другая на Auto» даёт duplex mismatch и приводит к падению скорости, повторным передачам и аномальным задержкам.
Какие расширенные настройки NIC в Windows в итоге стоит включать?
Для обычного настольного ПК или ноутбука базовое правило — сначала не уходить от значений по умолчанию. Speed & Duplex — Auto; Checksum Offload / LSO / RSC / RSS — как правило включены или на значениях по умолчанию; Jumbo Packet используйте только тогда, когда NIC, оборудование на другом конце и промежуточные коммутаторы согласованы end-to-end. EEE и Selective Suspend — настройки энергосбережения, а не способ ускорить работу. При изменениях железное правило: сначала решить, что именно вы хотите улучшить (пропускную способность, задержку, CPU, энергопотребление), затем менять только один параметр за раз и сравнивать результат до и после по цифрам.

Об авторе

Страница с профилем автора статьи.

Го Комура

Представитель KomuraSoft LLC

Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.

Публичные ссылки

Вернуться в блог