VMware Cloud Community
TechArchitect
Contributor
Contributor
Jump to solution

Performance - VM vs Physical Machine

Hello:

I am not sure if this is the right place to ask this question or not, but here it is:

I have a websphere application running on a physical machine with 3.0 GHz CPU. Currently, the application utilizes about 40% of CPU at all times.

On the other side, I have blades with physical CPU with 3.0 GHz as well. If I create a VM on the blade, and put my websphere application there, how does it equate to what I am running on the physical machine? Will there be any performance differences?

How does a VM slice a CPU? If I allocate 50% CPU of the blade to my VM, will my websphere application provide same performance as it did on the physical machine?

Are there any tools available to measure the performance on a physical machine vs VM and provide comparison?

I would appreciate a response.

Regards,

-Riaz

0 Kudos
1 Solution

Accepted Solutions
esiebert7625
Immortal
Immortal
Jump to solution

Thanks Ken, I was trying to word it the right way, I think you did it best, like you mention it's very difficult to give an exact answer to this question.

View solution in original post

0 Kudos
12 Replies
esiebert7625
Immortal
Immortal
Jump to solution

I run alot of Websphere servers on VM's. Were you planning on using VMware Server or ESX for this? If you are going to use Server then your performance will only be 70-90% of native (physical) because of the host OS overhead. ESX will be 83-98% of native performance. The one downside of using Websphere on VMware is that it usually has large RAM requirements based on your JVM size so your Host Memory usage is usually pretty high because Vmware cannot use alot of it's memory saving techniques on it. Not really a problem though if you have plenty of RAM available. Your best measurement of the server virtual/physical is going to be your web server response time and how fast your web applications function. You could use the Tivoli Performance Viewer and any other web page performance programs to check the performance of each.

Also check this out...

http://www.vmware.com/partners/vmware/ESX_WAS_WP.pdf

fyi....if you find this post helpful, please award points using the Helpful/Correct buttons...thanks

TechArchitect
Contributor
Contributor
Jump to solution

Thanks for your response. It helps, but I am trying to estimate the processing power that I would have once I establish a virtual machine when I carve up a physical CPU. In my example below, I have a single physical CPU running at 3.0GHz and it is consumed at 40% utilization. Therefore, if I was to install a VM (using ESX) with a 50% CPU allocation on the same physical CPU as noted above. What kind of performance will I get? I am interested in comparing apples to apples when it comes to dedicated (physical CPU allocation) vs Virtual. How do I equate performance where an entire physical CPU is consumed at 40% vs a virtual CPU sliced at 50% of the same physical CPU?

Are there metrics or best practices that can be followed to determine CPU performance estimates for planning purposes?

0 Kudos
mreferre
Champion
Champion
Jump to solution

If you have a single CPU on physical that is being used at 40% .... the same (uncapped) cpu on virtual would be consumed 40% (IDEALLY). Of course this is ideally as I am not taking into account any overhead (which you are going to see anyway).

If you cap the phisical CPU at 50% for that specific vm what happens is that in reality your CPU would still be used at 40% (ideally) but your guest would think it's using 80% of the CPU (that's because the vm is actually only "seeing" 50% of the real CPU).

All this is theory ... what happens in reality really depends on what you are doing / your applications etc etc .... I have seen situations where you would get the same application response time but would consume twice the hardware resources or you would consume the same resources at twice the response time.

There is an overhead and it's not even easy to plan it. Rule of thumb is 20% on average for most workloads though... (20% on average spans between 1% and 50%).

Massimo.

Massimo Re Ferre' VMware vCloud Architect twitter.com/mreferre www.it20.info
esiebert7625
Immortal
Immortal
Jump to solution

Just to add to what Massimo mentioned. It's hard to compare apples to apples when comparing virtual to physical. There are certain factors in the virtual world that do not exist in the physical world. You can't really compare the performance of your current server with 100% cpu with a VM with 50% cpu plus Vmware overhead. Obviously the VM will not perform as well as the physical with limited CPU resources. You can do a baseline on the physical server and then use Converter to make it virtual and compare the performance measurements. Also if you run other VM's on that server it will be competing for CPU with those.

You can try taking a look at these...

ESX Server 3 Ready Time Observations - http://www.vmware.com/pdf/esx3_ready_time.pdf

A Performance Comparison of Hypervisors - http://www.vmware.com/pdf/hypervisor_performance.pdf

Performance Monitoring and Capacity Planning - http://download3.vmware.com/vmworld/2006/adc0199.pdf

0 Kudos
juchestyle
Commander
Commander
Jump to solution

Hey Tech,

You have used the word "Carve" up. I hope you are not referring to shares; because that won't work the way you are thinking.

See one of my posts for more information on this:

http://www.vmware.com/community/thread.jspa?messageID=582117&#582117

Respectfully,

Kaizen!
0 Kudos
TechArchitect
Contributor
Contributor
Jump to solution

If the processing capacity is capped to 50% of a physical CPU, is there a direct correlation to the processing capabilites within the virtual server? Or is there further degradation to processing power?

Also, how are MHz, Hyperthreading and multiple cores affected by the VM. For example, how is 3Ghz to be interpreted in a Virtial Server that has a 50% physical CPU allocation?

0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

You might check out these...

ESX Server 2 Performance and Resource Management for CPU-Intesive Workloads - http://www.vmware.com/pdf/ESX2_CPU_Performance.pdf

ESX Server 2 Architecture and Performance Implications - http://www.vmware.com/pdf/esx2_performance_implications.pdf

A Performance Comparison of Hypervisors - http://www.vmware.com/pdf/hypervisor_performance.pdf

ESX Workload Analysis: Lessons Learned - http://download3.vmware.com/vmworld/2006/adc9398.pdf

ESX Server 3 Ready Time Observations - http://www.vmware.com/pdf/esx3_ready_time.pdf

0 Kudos
mreferre
Champion
Champion
Jump to solution

a cap at 50% would make the vm think it's running on a 1.5Ghz cpu in that case.

In general (ideally) the overhead you would get with that cap would not be different than the overhead you would get with no cap.

Massimo.

Massimo Re Ferre' VMware vCloud Architect twitter.com/mreferre www.it20.info
0 Kudos
Ken_Cline
Champion
Champion
Jump to solution

It sounds to me like you're thing of hard partitioning, where you dedicate a portion of a CPU to a particular VM. That's not how ESX works. Basically, your VM is going to see the physical CPU. If it's running on a 3Ghz CPU, it will see a 3Ghz CPU. You can cap the utilization of the VM by using "limits" (i.e. you can limit the VM to 1500Mhz of CPU), but it's still going to see a 3Ghz CPU - and I wouldn't recommend using limits unless you have a misbehaving application or you're using it as a tool to help with SLA management.

The CPU overhead of ESX is minimal - by far the lowest overhead of any of the "core four" (CPU, RAM, disk, network). If you are running a CPU intensive application, you can get near linear scaling by adding multiple VMs up to the number of cores available on the host.

Basically, it is nearly impossible to provide an accurate estimate of what the total overhead for a given workload will be (nearly impossible because you COULD run the workload on your environment to see what would really happen). If you take a wide range of workloads, you can make some estimates. As I mentioned earlier, CPU has the least overhead (probably less than 3%). All the other resources have additional overhead because they go through additional layers of abstraction. RAM, for instance, has to be mapped through an extra set of page mapping tables. Networking and disk have to pass through an extra set of device drivers (the virtual device drivers installed within the VM plus the vmkernel's device drivers). Each of the "other" resources also[/u] consume CPU resources - so as you can see, it gets pretty complicated pretty quickly...

Ken Cline VMware vExpert 2009 VMware Communities User Moderator Blogging at: http://KensVirtualReality.wordpress.com/
0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

Thanks Ken, I was trying to word it the right way, I think you did it best, like you mention it's very difficult to give an exact answer to this question.

0 Kudos
TechArchitect
Contributor
Contributor
Jump to solution

Thanks Everyone who responded to my question.

It really helped me get an insight into the usage and configuration of VMs.

If I had an opportunity in these forums to mark answers correct, I would have marked everyone correct, but unfortunately, it only allows one post to be correct.

Again, I appreciate your effort in helping me out.

Regards,

-Riaz

0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

No problem, there are alot of great people in these forums that take time to help out others.

0 Kudos