En Windows, der blev alt for virtuel…

Godt Nytår!

Jeg har været tidligt oppe ;-), for skrive om en lille ting du kan undersøge i det nye år og som muligvis kan øge stabilitet/performance på dine virtuelle maskiner på VMWare.

For nogen tid siden skrev jeg om et problem med VMXNET3 netværksadapteren på VMWare i et blogindlæg ved navn En Dynamics NAV, der blev alt for virtuel…, men de lader til at selv Windows i nogle installationer har problemer med WMXNET3 netværksadapteren.

Dette derfor et lille followup på det tidligere blotindlæg for at gøre opmærksom på at andet end lige Dynamics NAV kan have problemer – naturligvis fordi Windows selv har problemer.

Fejlene er tilsyneladende set på både Windows Server 2012 R2 og 2016, men kan afhjælpe ved at tweake netværksettings i Windows omkring TCP Stack Offloading (der ellers egentligt flytter en del af arbejdet med netværkskommunikationen fra Windows til selve netkortet).

I bund og grund handler det om at fyre følgende kommandoer af i PowerShell:

 

Windows Server 2012 R2:

netsh int tcp set global chimney=Disabled
netsh int tcp set global autotuninglevel=Disabled
netsh int tcp set supplemental custom congestionprovider=none
netsh int tcp set global ecncapability=Disabled
netsh int ip set global taskoffload=disabled
netsh int tcp set global timestamps=Disabled
netsh int tcp set global RSS=Enable
Disable-NetAdapterRsc *
netsh int tcp set global rsc=disabled
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv6)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "IPv4 Checksum Offload" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "IPv4 TSO Offload" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv6)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Offload IP Options" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Offload tagged traffic" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Offload TCP Options" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Recv Segment Coalescing(IPV4)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Recv Segment Coalescing(IPV6)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "TCP Checksum Offload (IPv4)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "TCP Checksum Offload (IPv6)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "UDP Checksum Offload(IPv4)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "UDP Checksum Offload(IPv6)" -DisplayValue "Disabled" -NoRestart

 

Windows Server 2016:

netsh int tcp set global chimney=Disabled
netsh int tcp set global autotuninglevel=normal
netsh int tcp set supplemental custom congestionprovider=none
netsh int tcp set global ecncapability=Disabled
netsh int ip set global taskoffload=disabled
netsh int tcp set global timestamps=Disabled
netsh int tcp set global RSS=Enable
Disable-NetAdapterRsc *
netsh int tcp set global rsc=disabled
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv6)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "IPv4 Checksum Offload" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "IPv4 TSO Offload" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv6)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Offload IP Options" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Offload tagged traffic" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Offload TCP Options" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Recv Segment Coalescing(IPV4)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Recv Segment Coalescing(IPV6)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "TCP Checksum Offload (IPv4)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "TCP Checksum Offload (IPv6)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "UDP Checksum Offload(IPv4)" -DisplayValue "Disabled" –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "UDP Checksum Offload(IPv6)" -DisplayValue "Disabled" -NoRestart

…men inden du gør det, så læs lige op på hvad det er du slår fra/til og hvorfor i disse to indlæg:

 

Bemærk: Laver du de beskrevne ændringer på dit system er det helt på dit eget ansvar og for egen regning og risiko. Så en god idé ville nok være at skrive settings ned først, så du kan sætte dem tilbage hvis noget går galt.