Avoiding Performance Bottlenecks in Hyper V

9
 Avoiding Performa nce Bottlenecks in H yper-V Virtualization Management White Paper  1 © 2012 VKernel Corporation http://www .vkernel.com Avoiding Performance Bottlenecks in Hyper-V Identify and eliminate capacity related performance bottlenecks in Hyper-V while placing new VMs for optimal density and performance WHITEPAPER BY CHRIS CHESLEY 

Transcript of Avoiding Performance Bottlenecks in Hyper V

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 1/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

1

© 2012 VKernel Corporation http://www.vkernel.com

Avoiding PerformanceBottlenecks in Hyper-VIdentify and eliminate capacity related performance

bottlenecks in Hyper-V while placing new VMs for

optimal density and performance

WHITEPAPERBY CHRIS CHESLEY 

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 2/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

2

© 2012 VKernel Corporation http://www.vkernel.com

Overview

Managing how you share CPU, memory and storage resources is the key to avoidingperformance problems in any virtual environment. Hyper-V environments are nodifferent. This paper will cover some lessons learned in years of experience managingcapacity resources in a VMware environment and how those same techniques can beapplied to a Hyper-V environment.

Since many of you are already familiar with VMware, we will be comparing Hyper-V toVMware. We will cover how to manage resources (CPU, memory storage and disk I/O)to obtain the maximum safe VM density, how to avoid performance bottlenecks, andhow to compute how much capacity there is to add virtual machines for each host andcluster.

Hyper-V Management Tools

There are a few different applications available to the administrator to assist inmanaging Hyper-V.

Hyper-V Manager

The Hyper-V Manager (HVM) is installed when you install the Hyper-V role in Windowsserver 2008 or it can also be installed separately on any desktop or server. The Hyper-Vmanager provides administrators with the ability to build, configure and destroy virtualmachines, but does not allow clustering and other features that are available in theVirtual Machine Manager (VMM). You can manage multiple Hyper-V hosts from a singleHyper-V Manager.

Virtual Machine Manager

The Virtual Machine Manager (VMM) is a separate application sold by Microsoft and iscomparable to VMware’s VCenter. It provides the ability to build, destroy and configurevirtual machines as well as offering the ability to move virtual machines between Hyper-V hosts. VMM also has the ability to receive ProTips from Systems Center that will alertadministrators to events or issues in their virtual environment.

System Center Operations Manager

System Center Operations Manager (SCOM) allows you to add management packs tomonitor virtual machines and hosts. There are management packs for Hyper-V that will

collect and report on resources used by the Hyper-V guests and hosts. VKernel alsohas a management pack that is loaded into SCOM. This will give you consolidatedinformation from all your hosts and guests that are running in both VMware and Hyper-Vas well as the ability to send Pro Tips to SCOM or VMM.

http://www.vkernel.com/products/CapacityAnalyzerwithHyper-V/

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 3/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

3

© 2012 VKernel Corporation http://www.vkernel.com

Fig. 1 Hyper–V’s Virtual Machine Manager

Differences between VMware and Hyper-V

There are also some significant differences between Hyper-V and VMware that theadmin should be aware of.

Over-committed resources

One of the big differences between VMware and Hyper-V is the ability to over commit

memory.

In VMware you can assign more memory to virtual machines than physically exists onthe host or resource pool. The idea is that the virtual machines will not use all theirassigned resources at the same time. Assigning more memory than is available canincrease your guest density (more guests running on the same hardware. More VMs onthe same physical hardware means a better return on what you paid for the hardware

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 4/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

4

© 2012 VKernel Corporation http://www.vkernel.com

and virtualization software.

Hyper-V will not allow the administrator to over allocate memory. While this may limityour ability to achieve higher density, it also means you can always count on theprovisioned memory to be available. There is still a lively debate going regarding

memory over committing and if this is beneficial or problematic in a virtual environment.

You can over commit CPU in both VMware and in Hyper-V.

Over-committed resources

VMware has memory and CPU metrics that are not available in Hyper-V. Specificallythese are CPU ready, memory ballooning and swapping. CPU ready is a measurementof how much time a virtual processor has to wait for a physical processor to run on.Memory ballooning and swapping are both needed by VMware since they allow memoryover committing and need a way of taking memory from one guest and giving it toanother. It is also needed to give more memory to guests than is available on

the host.

DRS and TPS

Distributed Resource Scheduler (DRS) and TPS (Transparent Page Sharing) are onlyavailable in VMware. DRS will either move virtual machines from one host to another orwill make recommendations that you move them based on resources that are used andavailable on the hosts. TPS is a method where VMware will recognize memory pagesthat are used by multiple systems and not load duplicate pages. Instead it will load thememory pages once and then provide pointers to all the guests using those pages. Itcan offer up to a 30% savings in memory utilization if an administrator pays attention towhat OS and applications are running on particular hosts and groups them together.

HA

High Availability (HA) is a feature of VMware where they will restart guests on a differenthost if the system they are on goes down or loses contact with VCenter (VMware’smanagement interface). Microsoft Hyper-V servers can be configured to be part of aMicrosoft failover cluster which offers the same functions as HA from VMware.

Capacity Management in a Virtual Environment

Managing the balance between performance and capacity utilization is only made moredifficult by virtualization. In a traditional server infrastructure each server or application

has its own memory, processors and sometimes storage so it could use whatever ofthose resources was needed. Even though virtualization allows you to share theseresources, there is still a physical limit to the amount of CPU, memory, storage and diskI/O that is available.

In a virtual environment, there are more levels where capacity bottlenecks can occur:

•  You can have a memory bottleneck on a host or storage issue for a cluster;

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 5/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

5

© 2012 VKernel Corporation http://www.vkernel.com

•  Bottlenecks can occur when a server takes up more resources than planned;

•  Performance can be affected if a host or cluster is overloaded and there is notenough memory

•  or CPU to go around;

•  One guest can affect the performance of other virtual machines on that host or

cluster.

Since most virtual server infrastructures are highly dynamic, the secret to success isactive capacity management. Specifically, you have to compare the amount of CPU,memory and storage allocated to what it is actually consumed.

The difficulty with actively managing capacity in Hyper-V is that the available tools onlyshow CPU utilization for a specific host or VM. Obviously, the more VMs you have, theless able you are to continuously check whether you’ve outgrown the assumptions youmade when you provisioned a server.

Fig. 2: VKernel’s Capacity Analyzer automates capacity utilization analysis

 A much better way of seeing this information is to use a solution that sees the entirevirtualized environment and automatically does that comparison for you. A solution thatwill allow you to look at all the statistics in one screen and then show you anything that

is not healthy is much easier to use then looking at the information one statistic and onelevel at a time.

This is what VKernel’s products do http://www.vkernel.com

Memory, CPU, storage and disk I/O are the important statistics to keep track of in avirtual environment.

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 6/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

6

© 2012 VKernel Corporation http://www.vkernel.com

Keeping on top of capacity utilization pays back when it comes to these commonmanagement issues:

•  Avoiding performance bottlenecks: Memory is usually the first bottleneck that isreached followed by CPU or disk I/O issues. Your infrastructure needs to bemonitored to make sure each element is getting all of the resources allocated to

it. Each resource needs to be monitored to make sure they are not at anextremely high level of utilization. For example a guest that is using 100% of thememory allocated to it is probably having performance issues.

•  Getting higher numbers of VMs on servers/storage: On the other hand, a virtualmachine that is only using 40% of the resources allocated to it and is running wellis an opportunity to ‘right size’. If you can track historical utilization levels andknow peak usage is 40% of what you allocated, you can reduce the amount ofresources allocated to existing VMs and fit more VMs on the same machine.

•  Figuring out where to place new VMs: Looking at resource utilization at the hostor cluster level is also an excellent way to determine where to place new virtualmachines. Without visibility into capacity utilization, you can only guess at what

capacity is available and which resource is the constraining factor in adding moreVMs. Since our biggest fear is causing a performance impact on the other guestson that host, we tend to under estimate how many VMs we can fit. This initialplacement is more important in Hyper-V than in VMware since there is noDistributed Resource Scheduling in Hyper-V that will move virtual machines toanother host if there are performance issue or if another host is has moreavailable resources.

Managing Memory

Memory tends to get used and then store information for fast retrieval later so theutilization for memory tends to be higher than CPU and is typically the first bottleneck

that virtual environments run into. It is important to track memory consumed todetermine if a virtual machine is getting enough resources or if the guest if having aperformance issue. A consistent utilization of at or near 100% may indicate that thevirtual system may benefit from more memory.

Managing CPU 

CPU’s are the main workhorses of both virtual and physical servers. It is important thatadministrators keep a close eye on CPU to make sure that there is enough to go aroundand that the virtual processors get access to a physical processor when they need it.Important metrics to look at are CPU consumed as well as percent utilized by the guest.

Managing Disk I/O This is a very important measurement for administrators to keep track of in a virtualinfrastructure. There are many types and speeds of storage so there are no overallthresholds that fit every environment. Important metrics to look at are disk latency,queue latency and throughput. Latency is a measurement of how long a disk commandtakes to return once it has been given and is measured in milliseconds. Queue latency

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 7/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

7

© 2012 VKernel Corporation http://www.vkernel.com

tracks how long a command has to wait before it is executed with the lower the valuethe better. Throughput is how many read and write commands have been executed.

 An over loaded LUN or disk can be identified using these metrics and looking at thedata store as a whole and is measured on a per host basis.

Managing Storage

This is important item to keep an eye on but tends to be more static than the othersunless new virtual machines are being created or deleted.

Computing Capacity Availability

Capacity availability is a measure of how many virtual machines can be safely added toa host or cluster without overloading any of the shared resources. It is usually stated asthe number of virtual machines of a particular size that can safely be run.The calculation requires the following steps:

•  Look at each host and cluster, determine what resources are used for CPU,storage, disk I/O and memory then determine how much is unused at that level(host or cluster).

•  Next you need to look at all the virtual machines running on the host or cluster,and then compute an average or desired size of the virtual machines that you aregoing to be adding.

•  The next step is to determine what a safe level of utilization for each resource isin your environment. For example, 85% memory utilization may be a reasonablethreshold for this cluster or host.

•  The final step is to compute how many more of the calculated sized virtualmachines you can fit before you hit the target utilizations.

Maximum Size Method

Some administrators prefer a more conservative calculation when computing capacity.One easy way of doing this is to use maximum values when coming up with acalculated VM size. To do this you look at all the virtual machines running on the host orcluster and determine which has the highest value, then use the highest values forCPU, memory, storage and disk I/O when making your capacity availabilitycalculations.

Some administrators exclude storage from these calculations because they add LUNswhen needed.

The Importance of VM Placement in Hyper-VThe initial placement of virtual machines is very important in Hyper-V since there is noDRS functionality that will move virtual machines around based on resource availability.The best way of doing this is to look at the average and peak utilization for all theresources for each host and cluster, then determine what resources the new virtualmachine will need. After this you can then decide on the best host to deploy the virtualmachine onto. The capacity availability of the host should also be calculated and

8/12/2019 Avoiding Performance Bottlenecks in Hyper V

http://slidepdf.com/reader/full/avoiding-performance-bottlenecks-in-hyper-v 8/8

 Avoiding Performance Bottlenecks in Hyper-VVirtualization Management White Paper  

8

© 2012 VKernel Corporation http://www.vkernel.com

taken into account as well as the administrator’s knowledge of what applications arerunning on the host or cluster.

Fig. 3: VKernel’s Capacity Analyzer automates Capacity Availability calculations

VKernel automates the above these availability calculations and automatically providesa Capacity Availability Map. http://www.vkernel.com/products/CapacityAnalyzer/  Conclusion

 An effective approach to capacity management can help you easily determine capacityavailability and where to place new VMS while avoiding capacity related performancebottlenecks. VKernel’s products automate the capacity management process. See moreat http://www.vkernel.com/products /