Home > Blogs > VMware vSphere Blog > Category Archives: Performance

Category Archives: Performance

vCloud Director Cell Recommendations for JVM Heap Size

I was recently asked to provide a recommendation for tuning the JVM heap size on vCD 1.5 cells.  In researching this I pulled up the vCloud Director Performance and Best Practices white papers for vCD 1.0, vCD 1.5 and vCD 5.1 where I found the following recommendations:

vCloud Director 1.0

vCD 1.0 recommends tuning the heap size based on the size of the inventory:

“By default, JVM heap size is configured to be 1GB for the process.  This is good for supporting 5000 inventory cache entries.  If the number of cached entries is changed, for example to 15,000 (an additional 10,000) for a large vCloud Director installation, you might need to increate the JVM heap size to support additional cache entries.”

Continue reading

Tech Marketing at Partner Exchange 2013

Still have some empty spots in your PEX calendar?

Let me recommend a few sessions being brought to you by some of our Tech Marketing team in the Cloud Infrastructure team!

Arranged by presenter’s name, not priority (because CI1130 would be at the top of the list then…)

Cormac Hogan

  • TEX1138 – vSphere 5.1 New Storage Features

Harry Smith

  • CI1502 – Selling IAAS with VMware vCloud Director

Jeff Hunter

  • CI1127 – vSphere Data Protection – Technical Deep Dive
  • CI1130 – High Availability, Data Protection, and Disaster Recovery in a VMware Virtualized Environment Workshop

Justin King

  • CI1545 - vSphere – Deployment Best Practices
  • CI1544 - vSphere Web Client - Technical Walkthrough

Ken Werneburg

  • CI1130 – High Availability, Data Protection, and Disaster Recovery in a VMware Virtualized Environment Workshop
  • CI1435 – Site Recovery Manager – Technical Walkthrough

Kyle Gleed

  • CI1144 – vSphere – Upgrade Best Practices
  • CI1545 – vSphere – Deployment Best Practices

Mark Achtemichuk

  • CI1149 – Virtualizing Business Critical Applications for Maximum Performance
  • CI1119 – Performance Deep Dive of the VMware Hands on Lab Cloud

Ranga Maddipudi and Vyenkatesh Deshpande

  • CI1440 – VMware vCloud Networking and Security Workshop

Vyenkatesh Deshpande

  • CI1225 – vSphere Distributed Switch – What’s New

 

**EDIT  - Oops, how could I have forgotten this session?

Rawlinson Rivera

  • CI1244 –  vSphere Storage Appliance – What’s New

The Performance Cost of SMP – The Reason for Rightsizing

Rightsizing is an important operational process that does affect performance.  VMware recognizes this and recommends the use of vCenter Operations to assist in identifying under/oversized workloads within your infrastructures.  The value of rightsizing helps to ensure maximum performance of your workloads and the efficient use of your underlying hardware.  It is very easy today to add resources to a virtual machine when required so we need to get away from our habit of over provisioning.

Many often wonder if there is overhead when creating a large virtual machine with many vCPUs that may or may not be used.  Is there waste in doing that?  Why not make all my virtual machines excessive and let the vSphere scheduler sort it out?

Well the simple answer is that – yes – if you build an inefficient virtual machine with too many vCPUs that will not be used, there is waste.  If the workload is rightsized though, you will still maintain a high level of efficiency.

Let’s take a look at the data:

 

Continue reading

Troubleshooting Performance Comparisons (with cheat sheet)

When someone experiences a performance comparison issue when a workload is moved from physical to virtual (or from another virtual platform/system) this is how I approach diagnosing it or identifying why performance was different.

Let me start by saying that using current infrastructure and the latest versions of vSphere, there should be little or no performance difference between physical and virtual.  Very rarely is a true issue or an incompatible application identified.  The most common reason people see an issue with comparisons is a result of the following:

  • A poorly conceived performance test
  • A mis-configuration within the hardware/software stack
  • Hardware differences between the tests

While this might seem obvious, it happens far too frequently in my experience.  As a result, I approach these situations by doing two things.  First, explain and encourage the adoption of my golden rules for comparisons.  Secondly, use the cheat sheet below to document details in the environment which usually bubbles up some sort of difference.

Here are my golden rules for performance comparisons:

Continue reading

vSphere 5.1 – VMDK versus RDM

It seems the debate between using a VMDK on VMFS or an RDM still rages when it comes to the question which one is better for performance.

The VMware team has published a lot of evidence in the past that the difference is very minor, in fact difficult to measure accurately and probably unperceivable to customers.  Definitely not worth giving up the value of encapsulating a VM.

Published Dec 7, 2007 (on ESX 3.0.1)
http://www.vmware.com/resources/techresources/1019

Published Feb 13, 2008 (on ESX 3.5)
http://www.vmware.com/resources/techresources/1040

Let’s take a look at some new internal data for vSphere 5.1 that continues to validate that VMDK is the right default choice.

Continue reading

What is the difference between PCPU Used and PCPU Utilized?

I’m often asked the question when looking at vSphere statistics – “What is the difference between PCPU Used and PCPU Utilized and why don’t they match?” Let’s take a look as it can be somewhat complex.

Continue reading

Beta Customers Wanted!

VMware currently has a beta program available for the VMware vCenter Support Assistant.  This product is designed to help customers accelerate the support process when they have issues by allowing them to open support cases and automatically collect and send diagnostic information to VMware right from their vSphere client.

There’s a lot of information on the functionality of the VMware vCenter Support Assistant on the TAM blog here.  If interested, you can sign up for the beta here and it will run through from now until mid-December.

Memory Performance Counters – An Evolved Look at Memory Management

vSphere memory management has evolved over the years taking advantage of new technologies and techniques like using large memory pages, compressing memory, and using solid state devices (SSDs) for swap caching. This evolution has changed the way we need to look at memory usage and memory over-commitment in vSphere virtualized environments. To understand memory management and usage in vSphere we need to understand the metrics available to us, what they mean, and how to use them.

Continue reading

Does XenApp (or VDI) on vSphere 5.x Still Require a HIMP Adjustment?

Does XenApp (or VDI) on vSphere 5.x Still Require a HIMP Adjustment?

Short Answer: No – This adjustment is only required under vSphere 4.x.

Background:

Some time ago, a 3rd party project compared hosting platforms for XenApp and found vSphere 4.x to be deficient.  After some analysis with the 3rd party, the following guidance was generated:

ESX provides fine-grained CPU scheduling that, among other things, enforces resource settings like CPU reservations, limits, and shares. Based on those settings, the scheduler determines if a VM has fallen behind in the amount of CPU time it should have received. Should the VM indeed be behind, attempts are made to help it catch up, usually by scheduling it more frequently.

If the processor has hyper-threading, however, scheduling more frequently does not guarantee that the VM will catch up. This is because the amount of CPU resources received by the vCPU is affected by the activity on the other logical processor on the same physical core. To guarantee the vCPU that is behind can catch up, ESX will sometimes not schedule VMs on the other logical processor, effectively leaving it idle.

In the case of the Intel Xeon 5500 series (and other modern hyper-threaded) processors, not scheduling on a logical processor may have a measurable impact on the overall throughput of the system. As a result, in systems that:

  • have more than 50% CPU utilization, and
  • are very close to exactly committed (number of vCPUs = number of pCPUs +/- 25%), and
  • and have particular kinds of bursty CPU usage patterns

we have observed a throughput drop of up to 15% when this fairness algorithm takes effect.

Reference: KB1020233

So altering the default HaltingIdleMsecPenalty (aka HIMP) became a practice when those ESXi instance were hosting XenApp.

You notice a small entry on the above KB article that now says:

Note: This issue does not affect ESXi 5.0.

So the question becomes – why?  What’s changed under ESXi 5.x?

Two major changes (thanks to Seongboem in our Perf-Eng team for this explanation):

  1. The VMware scheduler now detects the situation where utilizing both HT threads is harmful to fairness and in response lets one HT thread idle.  This is good for fairness but bad for CPU utilization.  As such, the detection mechanism has becomes more accurate in vSphere 5.x, especially for workloads like XenApp and VDI.
  2. The charging model has changed in vSphere 5.x such that utilizing both HT threads is favored in terms of fairness.  This reflects recent HT improvement where utilizing both HT shows meaningful benefit.  Older generations of HT architecture showed little or no improvement for industry standard workloads but Nehalem and later showed measurable benefit.

So while our solution team’s best practice guide is not yet updated to reflect this change for vSphere 5.x, all the other practices and considerations should still be adhered to.

Citrix XenApp on vSphere Best Practices Guide

Fact or Fiction: Does TPS and/or Mem Reservation Help/Hurt Oracle DB Performance

It’s funny how some rumours and myths just won’t go away.  The impact of TPS on Oracle DB virtual machines has been discussed in many place (reference: here, here and here).  Yet I still hear from customers and partners, most recently at VMworld in San Francisco, that this is still an issue.

I’d like to definitively say VMware takes these reports quite seriously and during our investigations have never found supporting evidence.  So lets review fiction versus fact style our experience.

Fiction:

Significant overhead is caused by the Transparent Page Sharing process which in turn degrades virtual machine performance.

Fact:

In this vSphere 5 memory performance study, the effects of TPS were measured using Swingbench and it was found that the difference between using TPS in its default configuration and disabling it, was less than 0.002% overhead.  In fact, that difference was in favour of using TPS.  Reference the diagram below.

TPS Performance

Fact:

There does exist a couple situations in which the TPS process may affect Oracle DB virtual machine performance:

  1. Due to vSphere host memory overcommitment, the host could be backing those large guest pages with small memory pages at the hypervisor level.  The net affect will be an under performing configuration.  One can argue the level of degradation but it would typically require a benchmark test to identify it.
  2. If the host is running at 100% utilization which is typically not a realistic scenario as at that point there will be many bottlenecks affecting database performance.

Fiction:

Setting a memory reservation on the Oracle DB virtual machine will increase its performance, even in a state in which vSphere host memory is not overcommitted.

Fact:

Setting a reservation will ensure all large memory pages assigned to the virtual machine will not be broken down by the TPS process.  However, the TPS process will continue to run regularly scanning host memory for potential savings.  In the case where the vSphere host is not overcommitted on memory, there is no difference in performance with/without a reservation.  So if you are not overcommitting host memory, reservations are not required and provide no benefit as the memory architecture and processes do not change.

The Takeaway:

Everyone should be confident that the vSphere platform can host their most demanding workloads including Oracle databases.  The technologies we employ, like TPS, are proven not only reliable, but performant.  Many customers are successfully running these configurations in production today.