Cart

    Sorry, we could not find any results for your search querry.

    Windows Server performance improvements

    At the end of 2020 and after extensive research, we made various changes to our VPS platform. These changes provide a significant performance enhancement for VPSs with Windows Server 2012, 2016 and 2019.

    To make use of this performance improvement, you only need to restart your VPS via the reset button in the TransIP control panel. Rebooting from within the OS will not work as the underlying hypervisor doesn't register such a restart. You can however gracefully reboot your VPS by first shutting it down from within the OS by clicking Start -> Power -> Shut Down and then using the reset button.

    For Windows Server 2012 and 2016, this change may cause your Windows clock to change to UTC time. As Windows synchronizes its clock with the underlying hardware frequently, adjusting the clock back once won't prevent this from happening again. You can however prevent the time from changing by adding a specific Windows Registry key.

    In this tutorial we show you how to add this Windows Registry key. We also provide information about the changes which we have made.

    • Windows Server 2019 installations of October 2020 and newer are already taking advantage of these changes.
    • The improvements in this article have no effect on Linux distros: KVM is already optimized for Linux.

    What is changed?

    For our VPS platform we use KVM. In the KVM settings, we made several adjustments related to Hyper-V Enlightenments:

    KVM implements its own paravirtualized interfaces. Since KVM is a Linux implementation, this works well for Linux distros. New features for KVM's own paravirualized interfaces are added in Linux distros as soon as the features are available. However, it is more difficult to implement these new features for other operating systems, such as Windows Server.

    KVM therefore uses 'Hyper-V Enlightenments' for Windows guest VMs. These are features that make Windows and any other Hyper-V guests think they are hosted on a Hyper-V compatible hypervisor. They can then use Hyper-V specific features (i.e. the Hyper-V Enlightenments).

    These Hyper-V Enlightenments consist of an extensive collection of features that affect various aspects of the paravirtualized interfaces. Within these features we have made the following adjustments :

    • MSR: CPU's make use of MSR, or Model-Specific Registers. These registers offer information to the processor, or retrieve it. Thanks to this, the processor knows when it should schedule tasks. We've implemented a virtual MSR which allows CPU's to better schedule tasks in Windows environments.
       
    • Timers: We added four synthetic Hyper-V per virtual CPU (i.e. for each VPS). Timers allow for tasks to be executed by the CPU at the right moment. The new synthetic Hyper-V timers do this more accurately than hardware timers on a KVM VPS platform. 

    Register changes

    The adjustments discussed above can cause that when you restart VPS, the time setting is changed from GMT to UTC (the time zone itself is not adjusted). In the steps below we show you how to add a registry key to prevent this.

    The relevant registry key makes Windows think that UTC is already being used, while you are actually using GMT. As a result, UTC will not be enabled when Windows is restarted.

     

    Step 1

    Connect to your Windows Server using Remote Desktop or the VPS-console.


     

    Step 2

    Click on the Windows Start button, type 'regedit' and click on 'Registry Editor' in the search results.

    windows search for regedit


     

    Step 3

    In the top of the Registry Editor, enter the address 'Computer\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation' (tip: copy paste the address), or navigate the folder structure on the left till you reach this folder.

    regedit timezoneinformation


     

    Step 4

    Double click on 'RealTimeIsUniversal' or if it does not exist yet, click your right mouse button on an empty spot on the right hand side and select 'new' > 'DWORD (32-bit) value' and name it 'RealTimeIsUniversal'.

    regedit realtimeisuniversal

    Give the key a value of 1 and click on 'OK'.

    regedit realtimeisuniversal value

    After a restart of your VPS, the change will be implemented automatically. Have you already used the reset button in the control panel to restart your VPS and use the previously mentioned performance boost? Then the restart is in no hurry and you can perform it whenever you want.


     

    This concludes this tutorial about the performance enhancements which we've implemented on our VPS platform for Windows Servers.

    Should you have any questions left regarding this article, do not hesitate to contact our support department. You can reach them via the ‘Contact Us’ button at the bottom of this page.

    Need help?

    Receive personal support from our supporters

    Contact us