Eind 2020 hebben we na uitvoerig onderzoek diverse wijzigingen aangebracht op ons VPS-platform. Deze wijzigingen zorgen voor een significante performance verbetering voor VPS'en met Windows Server 2012, 2016 en 2019.
Om gebruik te maken van deze performance verbetering, is enkel een herstart van je VPS via de reset-knop in het TransIP-controlepaneel nodig. Een herstart vanuit je OS wordt namelijk niet opgemerkt door de onderliggende hypervisor en past de wijzigingen niet toe. Je kunt wel van tevoren vanuit Windows via Start -> Power -> Shut Down eerst je server graceful uitzetten.
Deze wijziging kan bij Windows Server 2012 en 2016 tot gevolg hebben dat je Windows-klok naar UTC-tijd verandert. Dit komt doordat Windows met enige regelmaat de klok synchroniseert met de onderliggende hardware, die op UTC-tijd staat. Eenmalig je klok terugzetten voorkomt dit niet, maar je kunt wel voorkomen dat je Windows tijd verandert door een specifieke Windows Registry-key toe te voegen.
In deze handleiding laten we zien hoe je deze Windows Registry key toevoegt. Daarnaast geven we informatie over de wijzigingen die we doorgevoerd hebben.
- Windows Server 2019-installaties van oktober 2020 en nieuwer maken al gebruik van deze wijzigingen.
- De wijzigingen die in dit artikel genoemd worden hebben geen effect op Linux distros: KVM is daar al automatisch voor geoptimalizeerd.
- Voor aanvullende RDS performance tips, zie deze handleiding.
Wat is er veranderd?
Voor ons VPS-platform maken wij gebruik van KVM. Daarbinnen hebben we aanpassingen gemaakt met betrekking tot Hyper-V Enlightenments:
KVM implementeert zijn eigen paravirtualized interfaces. Aangezien KVM een Linux-implementatie is, werkt dit goed voor Linux distros. Nieuwe features voor KVM's eigen paravirualized interfaces worden namelijk in Linux distros toegevoegd zodra de features beschikbaar zijn. Het is echter lastiger om die nieuwe features te implementeren voor andere besturingssystemen, zoals Windows Server.
KVM gebruikt daarom 'Hyper-V Enlightenments' voor Windows guest VM's. Dit zijn features die ervoor zorgen dat Windows en eventuele andere Hyper-V guests denken dat ze op een Hyper-V compatibele hypervisor worden gehost. Ze kunnen dan gebruik maken van Hyper-V specifieke features (i.e. de Hyper-V Enlightenments).
Deze Hyper-V Enlightenments bestaan uit een uitgebreide verzameling features die verschillende aspecten van de paravirtualized interfaces beïnvloeden. Binnen deze features hebben we de volgende aanpassingen gemaakt:
- MSR: Processors maken gebruik van MSR, oftewel Model-Specific Registers. Deze registers bieden informatie aan de processor, of halen die op. De processor weet hierdoor wanneer hij taken moet schedulen. We hebben een virtuele MSR ingeschakeld die ervoor zorgt dat de processor beter taken kan schedulen in Windows.
- Timers: We hebben vier synthetische Hyper-V timers toegevoegd per virtuele CPU, oftewel per VPS. Timers zorgen ervoor dat taken op het juiste moment worden uitgevoerd, in dit geval door de processor. De nieuwe synthetische Hyper-V timers doen dit accurater dan hardware timers op een VPS platform.
Register aanpassen
De hierboven besproken aanpassingen kunnen ervoor zorgen, dat als je VPS herstart de tijdsinstelling van GMT naar UTC wordt verandert (de tijdszone zelf wordt niet aangepast). In de stappen hieronder laten we zien hoe je een registry key toevoegt die dit voorkomt.
De betreffende key zorgt ervoor dat Windows denkt dat er gebruik wordt gemaakt van UTC, terwijl je daadwerkelijk GMT gebruikt. Daardoor zal bij een herstart van Windows niet UTC worden ingeschakeld.
Stap 1
Verbind via Remote Desktop of de VPS-console met je Windows Server.
Stap 2
Klik op de Windows Start-knop, type 'regedit' en klik op 'Registry Editor' in de zoekresultaten.
Stap 3
Geef bovenin de Registry Editor het adres 'Computer\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation' op, of klik in de mappenstructuur aan de linkerkant tot je in deze map uitkomt.
Stap 4
Dubbelklik op 'RealTimeIsUniversal' of als die nog niet bestaat, klik dan met de rechter muisknop op een lege plek en selecteer 'new' > 'DWORD (32-bit) value' en geef die de naam 'RealTimeIsUniversal'.
Geef de key de waarde 1 en klik op 'OK'.
Na een herstart van je VPS wordt de wijziging automatisch doorgevoerd. Heb je al voor het doorlopen van deze stappen de reset-knop in het controlepaneel gebruikt om je VPS te herstarten en gebruik te maken van de eerder genoemde performance boost? Dan heeft de herstart geen haast en kun je die uitvoeren wanneer je wilt.
Daarmee zijn we aan het eind gekomen van dit artikel over onze performance improvements voor Windows VPS'en.
Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.
Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.
@xafaxbe,
Een herstart via de reset-knop is inderdaad noodzakelijk. Wel kun je van tevoren vanuit Windows via start -> power -> shut down hem eerst uitzetten.
@okeit,
Dat klopt en we passen het artikel hierop aan. Let wel dat de reset-knop noodzakelijk blijft. De hypervisor pikt een restart vanuit het OS namelijk niet op.