Максимальное число очередей RSS — что это?
Максимальное число очередей RSS — настройка, позволяющая выставить обрабатываемое количеств потоков RNIC-адаптера.
Данная настройка определяет, сколько потоков можно использовать RNIC-адаптеру. Какое именно количество — можно узнать в характеристиках адаптера. Если выставит больше, чем нужно — может быть снижение сетевой производительности. Также были случаи некорректно работы опции при использовании неактуальных драйверов.

RNIC (RDMA Network Interface Controller) — сетевой адаптер с аппаратным ускорением технологии прямого доступа к памяти RDMA. Это удаленный доступ к оперативной памяти, который имеет сетевая карта. Данные технологии используются в серверных конфигурациях, на обычных домашних компьютерах эти настройки нет смысла использовать. Да и вряд ли они будут на обычных сетевых картах типа Realtek.
Name already in use
GamingPCSetup / CONTENT / DOCS / NETWORK / README.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
1 contributor
Users who have contributed to this file
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Operating System Specific Configuration
- Ensure Network Throttling Index feature is enabled
- Recommendation: Set a value between 10 and 20 decimal, e.g. 15mbps-30mbps HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\NetworkThrottlingIndex
- See research on Network Throttling Index and the impacts on NDIS DPC processing latency.
- There has been notable NDIS DPC latency processing improvements observed (xperf isr/dpc latency analysis) through binding your RSS queues to specific cores. By default Windows primarily allocates much of the process and thread work to Core 0 of your CPU so there may be added benefit moving that workload to less used cores.
- Recommendation: If you have a 4 core CPU, try binding RSS queues to cores 2 and 3 (3rd and 4th core)
- Network & Internet Settings > Change Adapter Options > Adapter Properties > Select TCP/IP v4 > Advanced > WINS tab > Disable NetBIOS over TCP/IP > Press OK
- Note: This change is immediate, and also listed in Post Install section but here for completeness.
Intel Network Adapter Settings
Offloading features allows the network card to handle certain functions of the packet handling process reducing the overall cpu consumption, ideally allowing more cpu time for other tasks and your games.
- Adaptive Inter-Frame Spacing
- Disabled
- Disabled
- My personal recommendation is to set this to Medium or leave it on Adaptive (default)
- Try medium for a week or more then consider changing it if you believe something to be wrong from a network perspective.
- A Medium interrupt moderataion value provided an acceptable DPC/ISR latency during both fully loaded 1Gbps TCP network simulation and also UDP communications during real world scenarios and during iperf tests which matched the traffic characteristics of the simulated games, Counter-Strike CS:GO and CS 1.6.
- Many will recommend turning interrupt moderation off (including this one originally) however the increased interrupt rate can impact the users experience (perceived input response) during higher load where there is a combined use of realtime audio, gpu workloads, application and OS dependant cpu usage, usb device input and network throughput. If the intended performance measurement was not primarily reliant on user input response and strictly network/cpu based workload then having interrupt moderataion off would likely be ideal for lowest possible latency.
- RX & TX Enabled
- Disabled
- Disabled
- Disabled
- Enabled
- N Queues, Use 2 or more queues when available.
- Both Enabled
- Increase if you have extra memory to spare, recommended 1024 or higher.
- A lower value will results in dropped packets and decreased performance however a higher value could result in increased buffering during certain workloads, as per Microsoft’s Performance Tuning Network Adapters guide.
- Monitor your dropped packet rates during gameplay and adjust if necessary, a slightly higher value from the default should not result in increased buffering unless the traffic conditions reduce the rate at which data can be transmitted, often due to high load or congestion.
- Increase if you have extra memory to spare, recommended 1024 or higher.
- A lower value will results in dropped packets and decreased performance however a higher value could result in increased buffering during certain workloads, as per Microsoft’s Performance Tuning Network Adapters guide
- Monitor your dropped packet rates during gameplay and adjust if necessary, a slightly higher value from the default should not result in increased buffering unless the traffic conditions reduce the rate at which data can be transmitted, often due to high load or congestion.
- Enabled
- Enabled
- Enabled
- Enabled
- Disable all power saving options in drivers and for the adapter, more options are available in the latest Intel drivers sets.
For more information on these settings see the Intel’s and Microsoft’s Network Subsystem Performance Tuning support guides which includes performance tuning network adapters and low latency packet processing in the Network section of the Technical References page.
Realtek Network Adapter Settings
Realtek adapters and their drivers have shown to have worst DPC/ISR latency even after optimizations as noted in the Intel section above, however the Intel recommended settings above still apply to Realtek adapters. Will update this section and related settings if further research and evidence is accumulated to show otherwise.
Maximum number of rss queues что это
Возьмем не особо новый Dell-овый сервер с двумя четырехядерными ксеонами:

На борту две двухпортовые 1Gb сетевые карты и одна 10Gb, но я не нашел 10Gb свитча, так что завести не удалось — ну да ладно:

Что интересно в этих картах, так это то, что несмотря на поддержку RSS в 8 очередей, они не поддерживают ни MSI-X ни даже MSI. Более того, из четырех доступных линий pin-based прерываний на каждый сетевой порт отведена только одна (соответственно никакими способами заставить прерывания приходить на разные процессоры уже нельзя — это аппаратное ограничение данной конфигурации). 10 гигабитка зарегистрировала на себя то ли 32 то ли 64 (на глаз) вектора прерываний, но ее использовать — не судьба. Сможет ли индусская поделка для запуска игр справиться с задачей?

На всякий случай проверяем RSS (хотя если его не будет — будет заметно и так):

Для начала выключим RSS (включал обратно я уже после тестирования, но том же окне)

и запустим нагрузочный тест:
Полностью загружены два ядра, все остальные простаивают
Сеть загружена на треть:

50% одного процессора забито обработакой прерываний, еще 20% того же процессора — обработка DPC. Остальное — tcpip стек и приложение, которое отдает трафик.

Включаем RSS (скриншот выше). Процессор:

Сеть:

Треть одного процессора забита прерываниями, но DPC отлично распараллелены.

TCP Offload Engine
По умолчанию TOE стоит в automatic режиме. Смотреть Chimney Offload State:

Скриншот снимался во время активного тестирования, но в статистике видно, что ни одного «выгруженного» в сетевую карту соединения нет (о причинах позже). Включем принудительно (и через некоторое время запрашиваем статистику):

Но все же глянем, что получилось. Процессор разгрузился втрое:

Очень сильно уменьшилось количество (и время проводимое в) как ISR так и DPC:

Максимальное число очередей RSS — настройка, позволяющая выставить обрабатываемое количеств потоков RNIC-адаптера.Gaming Performance / System Optimization / Useful Tweaks
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
37 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.thank you for this info.i have been looking for this for a long time.my old pc had intel nic and it had 2048 tx and rx .but in new pc with realtek nic only 512 and 128.i thought it was driver based and can't be changed.
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?
A little problem here: [4d36e972. ] -> 0001 -> 'Params' is missing. This guide is maybe outdated?
——
Windows 10 1909
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.As you can see from my previous comment, I did use the driver key to find the place to set things up. I just spent $700 for new glasses to make sure I was in the right place. and still 'Params' is missing. Maybe you need to clean up your glasses to see better what I'm writing eh?

Im sry for the negative comment before but if you cant find your NIC's path then you're maybe in the wrong place 🙂 Its not necessary to be in 001, check 007, 002 ,00 whatever,check them all, its there. If its not there then you got the wrong GUID or maybe you have a different internet adapter.
@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

On Win 10 after certain version u need to use this command
netsh int tcp set supplemental Internet congestionprovider=CTCP
If its still saysdefault then u look this irelevant command: netsh int tcp show global
In this case go to my blog and Ctr+F to search for this: AFD_Parameters & CTCP Tweak its a reg file.
Or make a .reg file and apply it:
Windows Registry Editor Version 5.00[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,00but 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