VMware Cloud Community
MargeThompson
Contributor
Contributor

RHEL 5.4 running Tomcat with Performance Issues

Hi everybody,

I have a situation here and I kinda run out of ideas, I would really appreciate some help.

I have two new built RHEL 5.4 VMs with 4 vcpus, 4gb of memory LSI Logic and four E1000 vnics running on an ESX 4.0 each. The Red Hat servers work as a Tomcat application cluster with other 2 physical servers and uses LVS for load balancing.

This servers host the web interface through which all business offices connect to register sell transactions and as you can imagine the load is pretty heavy on some particular days of the year, and it is very critical for the business. The customer has been stressing the servers to test performance and determine wheter to virtualize all four servers or leave them running as physical servers. The results show the processors in the physical servers (two dual-core cpus) at approximately 30% of use, while the virtual ones go up to 70% with peaks of 90%.

I have verified the VMs and found out the kernel is smp, detecting all processors, no KVM at all; a top command from the guest OS would show CPU is most of the time idle, while the performance monitor from vCenter shows the usage levels previosly mentioned. So we did P2V of the physical servers these ones were replacing to check if we saw any difference in performance, it is the same.

What I found really interesting is that the performance monitor shows the value "cpu wait" pretty much stucked at 80% (no matter if the VMs are idle or working a lot, and it happens in the new builts and the converted ones) so I verified memory, network and disk I/O rates, they are not going over their capacity in any way, and the host cpu is being used by the 25/30% on average, so there is no apparent reason for this VMs to be waiting this badly to access the CPU, what could be happening?

0 Kudos
6 Replies
idle-jam
Immortal
Immortal

could you try with 2vCPU instead? that would minimize the cpu wait time as you might overprovision your vCPUs. may i know what is the hardware spec/host you're running on.

0 Kudos
MargeThompson
Contributor
Contributor

Sure, the host is an IBM eServer BladeCenter HS22, consisting of:

2 quad-core Intel Xeon E5345 2.33GHz CPUs (Hyperthreading not supported, booo)

32GB of RAM, usually consumes 25GB at most.

6 nics connected to a Gigabit connection

In what matters vcpus, the Linux guys first started with 2 vcpus but since they saw performance was poor decided to increase them to 4 vcpus and it was pretty much the same, that's why we didn't reduce them, at least yet.

I recommended so far changing vnics to vmxnet3 since virtual hardware version is 7 and also assigning both VMs to a dedicated LUN to see if that makes performance any better. But I have to think what to recommend next if that doesn't work...

0 Kudos
idle-jam
Immortal
Immortal

i would then advise running esxtop to go deep down to see the actual problem. you can find the below URL to activate it:

http://www.yellow-bricks.com/esxtop/

and if you have a valid support with vmware, i would too create a ticket. atleast you would be able to progress parallely ..

LucasAlbers
Expert
Expert

An esxi 3.5 performance test of java noticed that bios settings can dramatically affect java performance.

http://communities.vmware.com/message/832438

http://blogs.vmware.com/performance/2008/08/esx-runs-java-v.html

in addition enabling large page tables for java can improve performance.

checkout the java best practices doc.

http://www.vmware.com/resources/techresources/1087

in addition you should enable divider=10 as this will reduce the extraneous timer interrupts.

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=100642...

MargeThompson
Contributor
Contributor

Thanks a lot for the Java docs! We're reviewing them with the application & OS support guys to see what we can do.

We are also cheking the possibility of rebooting the host to see if it improves enabling hardware processor prefetching.

I'll let you know as soon as I know!

0 Kudos
idle-jam
Immortal
Immortal

Good Luck. Hope to hear something positive from your end soon. Smiley Happy

0 Kudos