MysticFoxDE / WINDOWS-OPTIMIZATIONS

SKRIPTS FOR WINDOWS DESUBOPTIMIZATION
628 stars 53 forks source link

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

Open vertexgamer opened 2 months ago

vertexgamer commented 2 months ago

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 commented 2 months ago

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 commented 2 months ago

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 commented 2 months ago

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