maximum number of rss queues что это

Maximum number of rss queues что это

Общие обсуждения

Quick Review

Все ответы

Understanding RSS

RSS is a solution to distribute network traffic to all cores configured on a host machine. It depends on Hardware, Driver and Firmware. If you have a heavy host load, it is recommended to enable it.

RSS makes use of hardware queues on a NIC to indicate interrupts directly to multiple CPUs. As packets arrive at the NIC they are filtered and placed in the appropriate queue. After a small period of time, the queue will then indicate all the packets to the CPU it is affinitized to. (Figure 1)

Figure 1: Understanding RSS

For more details, please refer to:

Receive Side Scaling

Hands on RSS

Get-NetAdapterRss output provides detailed information about RSS. It helps us to determine if and how RSS will work, how many processors are available, and if the Indirection Table is heavily biased towards any processors in particular (Figure 2)

Figure 2: Get-NetAdapterRss

1. When reviewing the Indirection Table, if the second number is all the same, it is a problem and would mean that one processor is more heavily favored over the others and might be indicative of a driver issue.

2. RSS provides hashing and scalability to host interface only. RSS does not provide any interaction with virtual machines, instead users can configure VMQ in those scenarios.

3. RSS can be enabled for guest virtual machines in the case of SR-IOV because the virtual function driver supports RSS capability. In this case, the guest and the host will have the benefit of RSS. Note that the host does not get RSS capability because the virtual switch is enabled with SR-IOV.

4. RSS can be enabled on a network adapter that is teamed with another network interface card using NIC Teaming. In this scenario, only the underlying physical network adapter can be configured to use RSS. A user cannot set RSS cmdlets on the teamed network adapter.

If you would like to tune RSS, you can use Set-NetAdapterRss.

Источник

Настройка производительности сетевых адаптеров

область применения: Windows server 2022, Windows server 2019, Windows Server 2016, Azure Stack хЦи, версии 21H2 и 20H2

используйте сведения в этом разделе для настройки сетевых адаптеров производительности для компьютеров под управлением Windows Server 2016 и более поздних версий. Если сетевые адаптеры предоставляют параметры настройки, эти параметры можно использовать для оптимизации пропускной способности сети и использования ресурсов.

Правильные параметры настройки для сетевых адаптеров зависят от следующих переменных.

В следующих разделах описывается ряд параметров настройки производительности.

Включение функций разгрузки

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

Не используйте разгрузку задач IPSec функции разгрузки или разгрузку TCP Chimney. эти технологии являются устаревшими в Windows Server 2016 и могут негативно сказаться на производительности сервера и сети. Кроме того, эти технологии могут не поддерживаться корпорацией Майкрософт в будущем.

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

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

Включение масштабирования на стороне приема (RSS) для веб-серверов

RSS способно повысить веб-масштабируемость и производительность, когда число сетевых адаптеров меньше количества логических процессоров на сервере. Когда весь веб-трафик проходит через сетевые адаптеры, поддерживающие RSS, сервер может обрабатывать входящие веб-запросы с разных соединений одновременно на разных процессорах.

Избегайте использования сетевых адаптеров, отличных от RSS, и сетевых адаптеров, поддерживающих RSS, на одном сервере. Из-за логики распределения нагрузки в RSS и протоколе HTTP, производительность может быть значительно снижена, если сетевой адаптер, не поддерживающий RSS, принимает веб-трафик на сервере с одним или несколькими сетевыми адаптерами, поддерживающими RSS. В этом случае необходимо использовать сетевые адаптеры, поддерживающие RSS, или отключить RSS на вкладке Дополнительные свойства в свойствах сетевого адаптера.

Чтобы определить, поддерживает ли сетевой адаптер RSS, можно просмотреть сведения RSS на вкладке Дополнительные свойства в свойствах сетевого адаптера.

Профили RSS и очереди RSS

стандартный профиль RSS по умолчанию — нумастатик, который отличается от используемого по умолчанию предыдущих версий Windows. Прежде чем приступить к использованию профилей RSS, ознакомьтесь с доступными профилями, чтобы понять, когда они полезны и как они применяются к сетевой среде и оборудованию.

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

Читайте также:  при какой температуре нельзя ездить на дизеле

Увеличение ресурсов сетевого адаптера

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

В некоторых сетевых адаптерах устанавливаются небольшие буферы приема для экономии выделенной памяти от узла. Это ведет к потере пакетов и снижению производительности. Поэтому для сценариев с интенсивным приемом рекомендуется увеличить буфер приема до максимума.

Если сетевой адаптер не предоставляет настройки ресурсов вручную, он динамически настраивает ресурсы, или для ресурсов задано фиксированное значение, которое нельзя изменить.

Включение контроля прерываний

Для управления прерываниями прерываний некоторые сетевые адаптеры предоставляют различные уровни управления прерываниями, различные параметры объединения буфера (иногда отдельно для буферов отправки и получения) или и то, и другое.

Следует рассмотреть возможность контроля прерываний для рабочих нагрузок, привязанных к ЦП. При использовании управления прерываниями учитывайте компромисс между экономией ЦП узла и задержкой, а также увеличением экономии ресурсов узла из-за большего количества прерываний и снижения задержки. Если сетевой адаптер не выполняет контроль прерываний, но он предоставляет объединение буферов, можно повысить производительность, увеличив число Объединенных буферов, чтобы освободить больше буферов на отправку или получение.

Настройка производительности для обработки пакетов с низкой задержкой

Многие сетевые адаптеры позволяют настраивать параметры для оптимизации системной задержки. Задержка — это время между обработкой входящего пакета сетевым драйвером и отправкой этого пакета обратно. Обычно это время измеряется в микросекундах. Для сравнения время передачи пакетов на длинные дистанции обычно измеряется в миллисекундах (это на порядок дольше). Эта настройка не сокращает время прохождения пакета.

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

Установите в операционной системе профиль управления электропитанием Высокая производительность.

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

Включить статические разгрузки. Например, включите контрольные суммы UDP, контрольные суммы TCP и отправку параметров большой разгрузки (LSO).

Если трафик проходит через несколько потоков, например при получении многоуровневого трафика многоадресной рассылки, включите RSS.

Отключите Управление прерываниями в драйверах сетевых адаптеров, которым требуется самая низкая задержка. Помните, что эта конфигурация может использовать больше времени ЦП и представляет компромисс.

Обрабатывайте прерывания сетевого адаптера и DPC на основном процессоре, который совместно использует процессорный кэш с ядром, которое используется программой (пользовательским потоком), обрабатывающей пакет. Для передачи процесса конкретным логическим процессорам можно использовать настройку фиксации ЦП вместе с настройкой RSS. Использование одного ядра для прерываний, DPC и пользовательского потока ведет к снижению производительности из-за увеличения нагрузки, поскольку ISR, DPC и поток будут конкурировать за ядро.

Прерывания управления системой

Многие аппаратные системы используют прерывания управления системой (SMI) для различных функций обслуживания, таких как сообщения об ошибках с кодом коррекции ошибок (ECC), поддержка устаревшей совместимости с USB, управление вентилятором и управление параметрами питания, управляемой BIOS.

SMI — это прерывание с наивысшим приоритетом в системе и помещает ЦП в режим управления. Этот режим загружает все остальные действия, в то время как SMI запускает подпрограммы службы прерываний, обычно содержащиеся в BIOS.

К сожалению, такое поведение может привести к скачкам задержки 100 микросекунд или более.

Когда необходимо обеспечить минимальную задержку, следует запросить у поставщика оборудования версию BIOS, в которой прерывания SMI имеют наименьший возможный приоритет. Эти версии BIOS часто называются «BIOS с низкой задержкой» или «SMI Free BIOS». В некоторых случаях аппаратная платформа не может полностью исключить активность SMI, так как она используется для управления важными функциями (например, вентиляторами).

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

Настройка производительности TCP

Для настройки производительности TCP можно использовать следующие элементы.

Автоматическая настройка окна приема TCP

в более ранних версиях Windows сетевой стек Windows использовал окно приема фиксированного размера (65 535 байт), которое ограничивает общую возможную пропускную способность для подключений. Общая пропускная способность подключений TCP может ограничивать сценарии использования сети. Автоматическая настройка окна приема TCP позволяет этим сценариям полностью использовать сеть.

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

Общая пропускная способность в байтах Размер окна приема TCP в байтах * (1/ Задержка подключения в секундах)

Например, для соединения с задержкой 10 мс общая пропускная способность составляет только 51 Мбит/с. Это значение целесообразно для большой корпоративной сетевой инфраструктуры. Однако с помощью автонастройки для настройки окна приема подключение может обеспечить полную скорость линии для подключения 1 Гбит/с.

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

Например, на компьютере с установленным сетевым адаптером с 1 Гбит/с размер окна должен быть 64 КБ.

Читайте также:  esp home что это

Эта функция также обеспечивает полное использование других функций для повышения производительности сети. Эти функции включают остальные параметры TCP, определенные в RFC 1323. используя эти функции, компьютеры на базе Windows могут согласовать размеры окна приема TCP, которые меньше, но масштабируются по определенному значению в зависимости от конфигурации. Такое поведение упрощает обработку размеров для сетевых устройств.

Может возникнуть проблема, при которой сетевое устройство не соответствует параметру TCP Window Scale, как определено в RFC 1323 и, следовательно, не поддерживает коэффициент масштабирования. в таких случаях обратитесь к этой статье KB 934430, если вы пытаетесь использовать Windows Vista за устройством брандмауэра или обратитесь в службу поддержки для поставщика сетевых устройств.

Проверка и настройка уровня автонастройки окна приема TCP

для просмотра или изменения уровня автонастройки окна приема TCP можно использовать команды netsh или командлеты Windows PowerShell.

в отличие от версий Windows, которые предварительно устарели Windows 10 или Windows Server 2019, вы больше не можете использовать реестр для настройки размера окна приема TCP. Дополнительные сведения об устаревших параметрах TCPсм. здесь.

Подробные сведения о доступных уровнях автонастройки см. в разделе уровни автонастройки.

Использование команды Netsh для просмотра или изменения уровня автонастройки

Чтобы проверить текущие параметры, откройте окно командной строки и выполните следующую команду:

Выходные данные этой команды должны выглядеть следующим образом:

Чтобы изменить этот параметр, выполните в командной строке следующую команду:

В предыдущей команде представляет новое значение для уровня автоматической настройки.

Использование PowerShell для просмотра или изменения уровня автонастройки

Чтобы проверить текущие параметры, откройте окно PowerShell и выполните следующий командлет.

Выходные данные этого командлета должны выглядеть следующим образом.

Чтобы изменить этот параметр, выполните следующий командлет в командной строке PowerShell.

В предыдущей команде представляет новое значение для уровня автоматической настройки.

Дополнительные сведения об этих командлетах см. в следующих статьях:

Уровни автонастройки

Можно настроить автоматическую настройку окна приема на любой из пяти уровней. Уровень по умолчанию — Обычная. В следующей таблице описаны уровни.

Level Шестнадцатеричное значение Комментарии
Normal (по умолчанию) 0x8 (коэффициент масштабирования 8) Задайте для окна приема TCP значение рост в соответствии с практически всеми сценариями.
Выключено Коэффициент масштабирования недоступен Задайте для окна приема TCP значение по умолчанию.
С ограниченным доступом 0x4 (коэффициент масштабирования 4) Задайте размер окна приема TCP, превышающего значение по умолчанию, но ограничьте такой рост в некоторых сценариях.
С высоким уровнем ограничений 0x2 (коэффициент масштабирования 2) Задайте размер окна приема TCP, превышающего значение по умолчанию, но это очень консервативно.
Экспериментальный 0xE (коэффициент масштабирования 14) Задайте для окна приема TCP значение рост в соответствии с экстремальными сценариями.

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

Уровень автонастройки: нормальный (состояние по умолчанию)

Уровень автонастройки: отключен

Уровень автонастройки: ограниченный

Уровень автонастройки: очень ограниченный

Уровень автонастройки: экспериментальный

Устаревшие параметры TCP

следующие параметры реестра из Windows Server 2003 больше не поддерживаются и не учитываются в более поздних версиях.

Все эти параметры были расположены в следующем подразделе реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

Платформа фильтрации Windows

Windows в Vista и Windows Server 2008 появилась платформа фильтрации Windows (WFP). WFP предоставляет интерфейсы API независимым поставщикам программного обеспечения (ISV) для создания фильтров обработки пакетов. Например, для брандмауэров и антивирусного ПО.

Плохо написанный фильтр WFP может значительно снизить производительность сети сервера. дополнительные сведения см. в разделе перенос Packet-Processing драйверов и приложений в WFP в Windows Центр разработки.

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

Источник

Gaming Performance / System Optimization / Useful Tweaks

Game / Performance / Networking tweaks, tips, hacks, apps

Thursday, 5 April 2018

Im going to start right away. RSS Queues tweak wont work unless your driver allows it. Rx & Tx increase works on every driver as far as I know. Like we know Intel NICs have only 2 Queues. For this to be working you need RRS to be enabled to activate the Queues.

This page is not updated. in fact IDK why keep it 😀 The main page is updated, better explained & has more info.

I found this tweak playing around in Registry Editor because it was bugging me, I had Realtek NIC & it have more queues & wider values range. It will be way easier if Microsoft release something like a Registry tweak guide or just describe the changes more in-dept than they do now and update it with the new Windows versions. The one they have now is very scares.

Additional Info:

Buy Me A Beer Here:

Donate

34 comments:

but if the adapter have only 2 queues doesnt mean he is designed by manufacturer to suport only 2 queues?

We dont touch the adpapter. We tweak the driver. It doeas what drivers tells him to do.
All other adapters use 4 queues. Intel use 2 because the benefit for home users are not scaling & increases the CPU usage. In Windows Server versions their drivers have 4 queues, even more. More quques actually help to process the data packets slightly faster which is what we need.

I tried doing the RSS queue tweak, selected four queues and restarted. Used Get-NetAdapterRss, where it showed no effect. Useless tweak that is already being propagated elsewhere on the internet. Intel specification will show max number of queues supported, no difference between Server or home OS.

That command shows the ReceiveQueues not all queues.

I could show u how to check that its working but since its «useless» u dont need to use it. Same with netsh int tcp set supplemental Internet congestionprovider=CTCP & netsh interface tcp show global commands. Its not there so it doesnt work, right 😀
I want you to post a link of that tweak since «is already being propagated elsewhere on the internet».I mean for Win10 not old Win. versions.

I just ran «Get-NetAdapterRss» in the PowerShell after implementing this tweak and it does in fact report that I have 6 queues (I have a 6-core CPU, so I added 6 queues). I’m not sure what Anon is on about it being «useless», unless they either implemented it wrong or their hardware simply doesn’t support more than 2 RSS queues.

Alright, so I recently ran «Get-NetAdapterRss» in PowerShell again and it seems that the output from the command differs between an administrator PowerShell window and non-administrator. I’m still not sure which one is more accurate, but the admin one shows only 2 RSS queues in use despite being set to 6.

Very nice article, I enjoyed reading your post, very nice share, I want to twit this to my followers. Thanks!. https://pingtestlive.com/fortnite

Should i enable all the checksum offloads or only the ipv4 one?

It says that this is different for every PC. «
You can find the correct path for your Network Adapter from Driver Key. Look the screenshot below. This should work on non-Intel network adapters as well.»
Maybe your diopters on the prescription glasses are outdated?? If you have 4 cores or less dont bother.

@n1kobg i found mine in «0011». i have a realtek adapter.

Your Windows is probably older and u changed & preinstalled drivers more than few times 🙂

The one in the main guide is more detailed, with more info.

So I was ableto do this tweak before but after doing a network reset I cannot see the Params folder? any idea?

Install new driver

There is like 6 different offload settings.. which one do we enable for the extra queues to work?
On mine i see

— TCP Checksum Offload IPv4 & IPv6
— UDP Checksum Offload IPv4 & IPv6
— NS Offload
— IPv4 Checksum Offload
— ARP Offload
— Large Send Offload V2 IPv4 & IPv6

I was talking about this: IPv4 Checksum Offload
But I think RSS is working without it enabled. LatencyMon is showing the driver is working on the Core I pinned the RSS so that recomendation was probably on old Windows versions.

dude pleas update Link Its Not Working pleas 🙁

What link? Also read the main blog page. its updated, better explained and has more info.
http://n1kobg.blogspot.com/

The links have been removed

could i ask is there anyway to increase receive buffers and transmit buffers on the realtek network adpater, i have been looking through the registry, but i cant find it, im stuck at 512 ans 128

Yes, u can, Its the same as Intel NICs.

I run a amd Ryzen 7 3700x 8 core 16 thread processor sometimes it shows that i have 8 logical processor instead of 16 do you know of any reason why that may be? Also my default buffer sizes are 512 and 126 but i have 32GB ram can i increase that buffer size without any problems? Realtek ethernet btw.

Yes, u can increase the buffers. I think 3700x is one of the good for gaming CPUs since it has 1 ccx. You dont specify where exactly shows that u have 8 or 16.

I can’t get add on congestion control provider to change to ctcp. anyway around this? it’s still saying default

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\\0]
«0200»=hex:00,00,00,00,01,00,00,07,00,00,00,00,00,00,00,00,1e,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,\
00,ff,00,ff,ff,00,00,00,00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,\
ff,ff,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00
«1700»=hex:00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,ff,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
ff,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00

but this is for Win8 not 10. I suggest to use the command if use Win10. U can check with that command: netsh int tcp show supplemental

Источник

Читайте также:  ребенок 4 годика какой размер одежды
Сказочный портал