Bobcares

Tuning Windows Performance for Use in Virtual Environment

by | Dec 20, 2020

Need help with tuning Windows Performance for use in Virtual Environment? We can help you.

As part of our Server Management Services, we assist our customers with several Windows queries.

Today, let’s focus more on how to get the most out of our virtual servers.

 

Tuning Windows Performance for Use in Virtual Environment

While using Windows as a Remote Desktop server, multiple users share the resources of a single server. The less resources each user session consumes, the higher is the density of terminal or VDI sessions supported by a single host.

The same apply when running several Windows copies as a guest system. If we run a large number of virtual machines, the optimization of these VMs settings reduce the host workload.

It will also increase the number of VMs that can run on a server simultaneously.

To optimize Windows to run in different environment, we can use free VMware OS Optimization Tool, available on VMware Labs website. To run it, we need .Net Framework 3.5.

However, we can use it to optimize Windows settings in any virtual environment, like Citrix, Microsoft or VMware.

There are some preset optimization templates for different Windows versions in VMware OS Optimization Tool. Each template contains a number of system settings to use if an OS runs on a virtual machine according to VMware recommendations.

In addition, the templates provide disabling the unused services, features and scheduler tasks, etc, i.e. all those features that waste the resources of a host system.

[Need help with tuning Windows Performance for use in Virtual Environment? We’d be happy to help]

 

How to optimize Windows 10 image

In our case, Windows 10 is a guest VM OS.

First, we start VMware OS Optimization Tool and select VMWare\Windows 10 in the list of templates.

This template has a number of settings to use for Windows 10 when running in a VMware virtualization environment.

For example, let us show some of the recommended settings from the template:

  1. Disable scheduler tasks as defragmentation, disk check, WinSAT, maps updating, etc.
  2. Disabling services for Wi-Fi, Fax, Computer Browser, BranchCache, IPv6, Microsoft iSCSI Initiator, SNMP Trap, EFS etc.
  3. Disable auto run for all external drives
  4. Disable RSS subscriptions
  5. Disabling most Windows visual effects, sound schemas, animations and new lock screen
  6. Uninstall the modern apps
  7. Disabling animation and hardware acceleration for MS Office applications
  8. Reducing of boot time due to the disabling of Active Setup components
  9. Disable OneDrive

Click Analyze and the report will show whether the current OS settings comply with the template parameters.

We can create our own template based on the existing one and apply it to VMs with a given Windows version or VM templates. In our example, Windows 10 is almost not optimized, only 5 of 110 recommended settings, and 7 of 137 optional ones are applied.

Tuning Windows Performance for Use in Virtual Environment

To optimize Windows, select the settings applicable to our environment and click Optimize. If necessary, we can roll back using History tab.

The tool allows to work not only with the local OS copy, but can also connect to a remote VM using VMware View Connection server.

In particular, when using an existing template by Login VSI, the developers have measured that with these settings a VDI host can run 40% more VMs compared to non-optimized Windows 10.

A template for Windows Server 2008 – 2012 is to optimize an OS when using as RD Session Host.

 

How to tune Windows Performance for use in Virtual Environment

  • Performance-Tuning the Hypervisor

It is important to optimize individual virtual servers. If we really want to use hardware resources to the fullest, we have to optimize the way the hypervisor allocates resources to VMs.

  • CPU Optimization

Most of the time, available CPU resources are the factor that limits the number of VMs that can run on a host server.

First, it is important that, regardless of which virtualization product we are using, there is always some overhead associated with the hypervisor.

It is always a good idea to avoid over-committing CPU cores. We should refrain from allocating all available cores to VMs if we can.

Over-committing CPU cores refers to assigning more virtual CPU cores than the total number of physical cores present in the server. Set aside at least a core or two for use by the hypervisor.

Next, take an inventory of the apps that are running and then determine whether each application is multithreaded or single-threaded. If a virtual server runs a single-threaded application, we should typically allocate a single CPU core to the server.

If the single-threaded application is CPU-intensive, then it is possible the virtual server may benefit from having two CPU cores. The application will never be able to use more than one core, but we may be able to offload the overhead related to the server’s OS to the second core.

[Can’t optimize your CPU? Contact us now!]

  • Memory Optimization

Optimizing host server’s memory primarily has to do with allocating memory that ensures each VM receives the memory it needs.

One of the most common mistakes that administrators make is forgetting to reserve some memory for the hypervisor to use. The amount of memory that should be set aside depends on the hypervisor we use.

Properly allocating memory is important, unless the VMs have sufficient memory, they will use paging to swap pages of memory between the server’s physical memory and the OS page file. Paging is a disk-intensive operation that can kill a server’s performance.

Both Hyper-V and VMware allow for memory over-commitment. The idea behind memory over-commitment is that guest machines are almost always allocated a little bit more memory than it actually need. In order to not run short on memory.

If a situation ever occur where more memory is required than what the physical hardware can actually provide, then performance can suffer.

When it comes to allocating memory, if our priority is performance, then we should avoid memory over-commitment at all costs.

If we are forced to over-commit server’s memory, there is a few things we can do to reduce the impact. The best things we can do is set realistic limits.

There are also some hypervisor-specific features that we take advantage of to ensure better performance.

For example, when we over-commit memory in VMware ESX, it creates a page file. It is equal to the difference between the VM’s memory size and its reservation.

The reservation refers to the actual amount of physical memory that will always be reserved for the VM. Therefore, if we create a 4GB VM with a 1GB reservation, the page file for that VM will be 3GB in size.

[Stuck with memory optimization? We are here for you]

 

Conclusion

In short, tuning Windows Performance for use in Virtual Environment is possible by optimizing performance, CPU, memory, etc. Today, we saw how our Support Techs get the most out of the virtual servers.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF