So you have convinced the company that Virtualisation os the saviour of the IT world, you have purchased the kit and the software and the licensing, now you have no money left, how do I know what I can virtualise ?
You can either go out and spend lots of money on Capacity planning software which usually charges you per server which can get quite expensive or you can use the old fashioned way….Perfmon !
Counters should be run for at least two weeks, but preferably up to a month. The reason for this is that for most businesses, one month incorporates that company's business cycle. So, setting up counters to run for a month ensures that you capture the slow periods as well as the high use times, end of month reports etc.
Here are some counters you should consider enabling. For any of these, if the counter's resulting performance for any server is significantly higher than on other systems, it may indicate that that server won't play well when squished together with others in the virtualisation environment:
Disk\% Disk Time
If disk time is high, then that server likely does a lot of reading from and writing to its hard disk subsystem. Since virtualisation environments encapsulate whole machines into single files, a high disk time counter can mean an excess of writes to its disk file, potentially becoming a performance bottleneck.
Memory\Pages/sec
When the processor is looking for data that doesn't reside in physical RAM or when the server needs to move unused data from RAM to disk, this increases the metric for Memory\Pages/sec. A high counter here could indicate often-changing processes or workloads that require lots of dynamic data. Since the physical RAM on a virtual machine is also just a file on disk, an overly high counter here could signal a potential performance concern.
Physical Disk\Current Disk Queue Length
Related to both of the above counters, if your server is reading and writing to its disk so much that its disk subsystem cannot keep up, you will see a high Current Disk Queue Length counter. As with the previous three counters, the disk-based nature of virtualization lends itself toward the potential for disk bottlenecks. Not virtualising servers that are disk-bound may be necessary for the total performance of your virtualisation environment.
Processor\% Processor Time
The processor in each virtual server is a component of the physical processors on the host. Most of what virtualization software does is schedule physical resource use based on the needs of each virtual server. So, if you are seeing servers with a high Processor Time, then that server is constantly needing the attention of its processor. That constant need could prevent other virtual servers from getting their fair share unless you establish resource limits on the host — in the end, it slows everyone down.
System\Processor Queue Length
If you're seeing a high percentage Processor Time metric, you may also see a high Processor Queue Length metric as well. This metric deals with a processor's ability to "keep up with the load." To complicate things, it can also mean that the hardware of your physical server is not good enough to support its hosted applications. So, keep an eye on this metric.
If you see a high count for this metric, but you know your physical server is too old and slow to support its applications, you may improve performance by moving to virtualisation. But, if you see a high count on a fast server, it could indicate that that server is not the best candidate for virtualisation.
System\Context Switches/sec
A context switch is when the processor swaps out the thread that it's currently processing with another. Your processor does this all the time, as it's a part of its ability to multitask. But, when this number is very high, that's an indication of too many processes vying for attention of the processor. Where you usually see a high context switch count is on Terminal Servers or servers with very old applications. Because of the high process count on servers like Terminal Server and Citrix, they can sometimes not be good candidates for virtualisation.
System\Threads
The thread count on a system directly relates to the number of things the processor needs to accomplish. Lots of threads potentially means lots of context switches to process them all. Like with high context switches, a high thread count can also mean a well-used processor and a suspect virtualisation candidate.
Memory\Available Mbytes
Unlike the other counters, a high Available Mbytes count can be a good thing. This means that your system isn't using much of its installed RAM. Where this counter comes in handy is in right-sizing the RAM assigned to your virtual machines. Typical physical machines have too much RAM installed, which means much of it goes unused. This happens because RAM prices are cheap at the time you buy the server, but more expensive later on. So, many administrators over-spec their servers with high amounts of RAM.
In the virtualisation environment, you want to conserve RAM as much as possible so it can be used by other virtual servers. A good rule of thumb for the starting amount of RAM a virtual server needs is to subtract the amount of physical RAM from your available Mbytes and then add a little bit for breathing room. So, if you have 2GB of RAM in the server and your Available Mbytes shows 1024 megabytes, then you might start out by giving that server 1GB and working from there.
Other counters may be viable, at the end of the day it depends on your environment, these counters are just general usage.