https://linux-kvm.org/api.php?action=feedcontributions&user=Stompro&feedformat=atomKVM - User contributions [en]2024-03-29T11:44:41ZUser contributionsMediaWiki 1.39.5https://linux-kvm.org/index.php?title=WindowsGuestDrivers/kvmnet/registry&diff=4549WindowsGuestDrivers/kvmnet/registry2012-06-18T16:26:43Z<p>Stompro: Making it easier to apply registry changes.</p>
<hr />
<div>This page describes best practice for configuring Windows TCP\IP related parameters to archive the best performance with Windows guests.<br />
Those parameters are unrelated to kvm\VirtIO drivers , rather general Windows settings.<br />
After changing those setting reboot is required for the changes to effect the system.<br />
<br />
= Windows XP and 2003 registry settings =<br />
<br />
== Registry settings ==<br />
Save the following as a .reg file and you can apply the changes by running the file on windows.<br />
<br />
<pre><br />
Windows Registry Editor Version 5.00<br />
<br />
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]<br />
"DefaultSendWindow"=dword:00100000<br />
"DefaultReceiveWindow"=dword:00100000<br />
"FastSendDatagramThreshold"=dword:00004000<br />
<br />
<br />
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]<br />
"Tcp1323Opts"=dword:00000001<br />
"TcpWindowSize"=dword:00100000<br />
</pre><br />
<br />
* Tcp1323Opts - allows the scaling of the TCP window above 16k. For more info read [http://technet.microsoft.com/en-us/library/cc938205.aspx Tcp1323Opts]<br />
* "DefaultSendWindow", "DefaultReceiveWindow" and "TcpWindowSize" control TCP window size<br />
* "FastSendDatagramThreshold" - controls fast UDP transmit. <br />
<br />
== Additional links ==<br />
* [http://technet.microsoft.com/en-us/library/cc781532(WS.10).aspx Windows Sockets and DNS Registry Parameters]<br />
* [http://support.microsoft.com/kb/235257 Server Does Not Use All Bandwidth Available When Streaming Files with Bit Rates over 100 Kbps]<br />
<br />
<br />
= Starting from Vista =<br />
Starting from Windows Vista the mentioned above setting are not effecting Windows networking stack. <br />
<br />
netsh configuration tool should be used to configure the networking settings.<br />
<br />
== Disable Windows Scaling heuristics == <br />
Starting from Windows Windows Vista, Windows can disregard user TCP Windows setings. This behavior could be desabled: <br />
<br />
netsh int tcp set heuristics disabled<br />
possible settings are: disabled,enabled,defaul<br />
<br />
The corresponding Registry value (not necessary to edit if setting via netsh) is located in:<br />
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters<br />
EnableWsd=0 <br />
(default: 1, recommended: 0)<br />
<br />
== TCP Auto-Tuning ==<br />
To turn off the default receive window auto tuning behavior:<br />
<br />
netsh int tcp set global autotuninglevel=disabled<br />
<br />
The default auto-tuning level is "normal", possible settings are:<br />
<br />
disabled: uses a fixed value for the tcp receive window. Limits it to 64KB.<br />
highlyrestricted: allows the receive window to grow beyond its default value, very conservatively.<br />
restricted: somewhat restricted growth of the tcp receive window beyond its default value.<br />
normal: default value, allows the receive window to grow to accommodate most conditions.<br />
experimental: allows the receive window to grow to accommodate extreme scenarios (It enables RWIN values of over 16 MB).<br />
<br />
== Compound TCP ==<br />
To increase the TCP Windows with the faster rate Compound TCP should be enabled.<br />
On Vista and Windows 7, CTCP is off by default. On Windows 2008 it is on.<br />
<br />
To enable CTCP:<br />
netsh int tcp set global congestionprovider=ctcp<br />
<br />
To disable CTCP:<br />
netsh int tcp set global congestionprovider=none</div>Stompro