Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding registry entries to increase the packet buffer size, suggestion #24

Open
vertexgamer opened this issue Sep 13, 2024 · 3 comments

Comments

@vertexgamer
Copy link

Currently windows drop 47% of UDP packets on localhost at a rate of 500mbps (tested with iperf3)
Adding on Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters these DWORS DefaultReceiveWindow and DefaultSendWindow with a hex value of 1600000 (should be 23068672 in decimal) will allow on the same machine a bandwidth of >15gbps without packet loss.

Btw talking about the various "fixes" in the powershell script, they seem to be working for now but we will need to see if it fucks up again after a windows update. Last time i spent a week trying to solve this issue of a single core maxing out and limiting the tcp bandwidth to 1600/1800mbps, after a lot of tinkering i did a netsh int ip reset, netsh winsock reset and while most parameters didn't change (apart MTU from 1370 to 1500) the issue was fixed..... until today where i noticed that since the last update the same issue appeared and i couldn't fix it by resetting the tcp stack.
To be fair i still only hit 2150mbps instead of the 2320 i have on ubuntu (which considering the mtu size it's very close to theorical limit), but it's better than nothing

@vertexgamer
Copy link
Author

vertexgamer commented Sep 13, 2024

Nevermind, this script didn't work, same issue as before. A speedtest with multiple connections is slow while it performs normally if one uses a single connection

@MysticFoxDE
Copy link
Owner

Hi @vertexgamer,

Nevermind, this script didn't work, same issue as before. A speedtest with multiple connections is slow while it performs normally if one uses a single connection

the script already works, at least with 1G NICs, but it is not suitable for your requirements because it disables RSS.

For your requirement (bandwidth > 1G and several simultaneous connections) RSS should be activated and configured correctly in order to utilise the NIC optimally/efficiently.

Describe your environment in more detail, then I can certainly give you a better tip.

Best Regards from Germany
Alex

@vertexgamer
Copy link
Author

Hi @vertexgamer,

Nevermind, this script didn't work, same issue as before. A speedtest with multiple connections is slow while it performs normally if one uses a single connection

the script already works, at least with 1G NICs, but it is not suitable for your requirements because it disables RSS.

For your requirement (bandwidth > 1G and several simultaneous connections) RSS should be activated and configured correctly in order to utilise the NIC optimally/efficiently.

Describe your environment in more detail, then I can certainly give you a better tip.

Best Regards from Germany Alex

ah really? interesting, i still see RSS enabled on both the NIC configuration and in the global configuration with netsh int tcp show global, altho on the NIC configuration interrupt modulation got disabled.
image
My environment is windows 10 (home eww) 22H2 build 19045.4894, the 2.5gbit pcie NIC has a Realtek RTL8125B with the official drivers installed, cpu is a 5950x but i don't think the 2 ccd can cause issues as i tried different profiles for RSS with no difference to performance
image
(ethernet 3 is the currently empty onboard NIC)

Thanks for your time Alex, best regards from Italy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants