VMware Cloud Community
atbnet
Expert
Expert

ESX 3.5 U3 - vCPUs Maximum

ESX 3.5 U3 saw in increase in the max number of vCPUs to 20.

Increase in vCPU per Core Limit

The limit on vCPUs per core has been raised from 8 (or 11 for VDI

workloads) to 20. This change only raises the supported limit but does

not include any additional performance optimizations. Raising the limit

allows users more flexibility to configure systems based on specific

workloads and to get the most advantage from increasingly faster

processors. The achievable number of vCPUs per core depends on the

workload and specifics of the hardware. It is expected that most

deployments will remain within the previous range of 8-11 vCPUs per

core.

Our ESX servers have two quad core xeons (no hyperthreading).

The max number of vCPUs per VM we can assign is 4. I assume this is because quad core = 4 core = vCPUs? But for a moment I wondered if should I be able to assign 8vCPUs?! Anyone else able to do this, just intrested?

Andy, VMware Certified Professional / VMware vExpert Award 2009

Help, Guides and How Tos

If you found this information useful please award points using the buttons at the top of the page accordingly.

Andy Barnes
VCP / VCA-DT / MCITP:EA / CCIA
Help, Guides and How Tos... www.VMadmin.co.uk

If you found this information useful please award points using the buttons at the top of the page accordingly.
Tags (1)
0 Kudos
20 Replies
oreeh
Immortal
Immortal

The limit per VM still is 4 vCPUs.

The only change is that you are now able to run more vCPUs per physical core.

0 Kudos
RParker
Immortal
Immortal

The max number of vCPUs per VM we can assign is 4. I assume this is because quad core = 4 core = vCPUs?

First the battle rages on into whether or not more CPU in a VM = more performance. I say not. I also have plenty of supporting documentation and OTHER companies that discourage multi CPU VM's. Despite the small group of people in this forum, it's widely accepted that running more than 1 vCPU in a VM is basically useless, this is in Hyper-V, VM Ware and any other non-paravirtualized environment.

So I question whether or not you will even see any improvement (which you won't) and with that many CPU assigned to a VM I question why you are running in a VM to begin with.

Think about this from a purely logical point of view. One VM, takes over ALL the CPU on the host, what's left for remaining VM's? How about none? Bad move for VM's Also the idea behind VM's isn't to compete for Physical performance, RAM, or size and scope of machines, it's sole purpose is to go green, save space and consolidate management. But if you start stacking the deck, it's a diminishing return on your VM License.

So test first. With 1 vCPU, run a benchmark or two. Then run the SAME benchmark again, this time ONLY make the VM 2 vCPU. I will wager whatever money you have on grant you that the performance (if any, I still say none) will be less than 10%. (Unless it's Linux VM's). Going from 2 or more to 4 or 8 vCPU will definately be ZERO performance.

So first you have to run some test before you think you NEED that many CPU. I think you are mostly stuck on the idea because physical boxes with all those cores, somehow you figure VM's will utlize them the same way, they will not. VM's are basically a bunch of threads running at the same time. So monopolizing the CPU isn't going to give you what you think it will.

Try a bench mark first, and if you actually see improvement, I would like to see the graphs.

EVERY time I ask this question, not one person has actually put up the graphs, charts or the numbers to PROVE their findings. I find that remarkable. I say it's 'theorhetical' and no one can actually show their test results (Linux however does improve a little for 2 CPU). I have compared notes with a few other companies and we are all scratching our heads wondering 'You think people SAY they improve when they really don't?'. I really think that's the bottom line.

People talk a lot, but have yet to show any evidence. But VM Ware will appease the masses by giving them what they want (8 vCPU). Even their engineers (and I have personally talked to a couple) say that it's mostly people with their comfort zones that makes it SEEM better. You just want to believe that 1 CPU isn't enough, so you add more. But just because you CAN do it, and VM ware makes it possible doesn't mean that you will see any improvement.

It's like a child wanting a cookie, they won't stop until you give them what they want. So let them have as many as they want until they get sick, then they won't want any more... Gotta love Psychology.

0 Kudos
mcowger
Immortal
Immortal

No evidence, ok Smiley Happy

XP VMs.

time to completion of their testing task (a highly multithreaded task).

1 CPU: 2:11

2 CPU: 1:30

As for our linux VMs, they improve almost linearly with the vCPUs

1) 8:12

2) 4:45

4) 3:34

So, I've got $40 in my pocket right now. I take paypal :).

--M






--Matt

VCP, vExpert, Unix Geek

--Matt VCDX #52 blog.cowger.us
0 Kudos
Kahonu
Enthusiast
Enthusiast

Are these debates scheduled??

0 Kudos
Jasemccarty
Immortal
Immortal

No, they aren't scheduled.

And different forum members have seen different results, depending on their environment.

Unlike mcgower, we only see performance issues (not benefit) using multiple vCPUs.

It really all depends on your workload, your hosts, and your storage...

Jase McCarty

http://www.jasemccarty.com

Co-Author of VMware ESX Essentials in the Virtual Data Center

(ISBN:1420070274) from Auerbach

Please consider awarding points if this post was helpful or correct

Jase McCarty - @jasemccarty
0 Kudos
AntonVZhbankov
Immortal
Immortal

Matt, fill your ESX with VMs for ex up to 2-3 vCPUs per core, make some load on VMs to raise host CPU load to 30-40% level. And then run test for 1 vCPU, 2 vCPU and 4 vCPU.


---

VMware vExpert '2009

http://blog.vadmin.ru

EMCCAe, HPE ASE, MCITP: SA+VA, VCP 3/4/5, VMware vExpert XO (14 stars)
VMUG Russia Leader
http://t.me/beerpanda
0 Kudos
AntonVZhbankov
Immortal
Immortal

Looks like vExperts meeting Smiley Happy


---

VMware vExpert '2009

http://blog.vadmin.ru

EMCCAe, HPE ASE, MCITP: SA+VA, VCP 3/4/5, VMware vExpert XO (14 stars)
VMUG Russia Leader
http://t.me/beerpanda
0 Kudos
jose_maria_gonz
Virtuoso
Virtuoso

Hi there,

In some testing I did recently for SQL 2007 we saw an increase on performance when using 2 x vCPUs as oppose to use just one vCPU

Also for Exchange 2007 workload there is quite a good article on how it scale with 1, 2 and 4 vCPUs.

http://www.dell.com/downloads/global/power/ps4q07-20080147-Muirhead.pdf

My two cents anyway

Saludos,

Jose Maria Gonzalez,

El blog de Virtualizacion en Español

-


http://www.josemariagonzalez.es

http://www.josemariagonzalez.es/feed

http://twitter.com/jose_m_gonzalez

VMware vExpert 2009

-


If you find this or any other answer useful please consider awarding points by marking the answer helpful or correct.

0 Kudos
mcowger
Immortal
Immortal

Anton,

Our hosts are at about 4.25 vCPUs/core, and the Host CPU is already around 60%, and we still see this improvement.

As Jase mentioned, this is not true for all workloads or users. An improvement probably isn't even true for MOST workloads. I only mention my experience because of Parker's continuing insistence thats its NEVER possible.






--Matt

VCP, vExpert, Unix Geek

--Matt VCDX #52 blog.cowger.us
0 Kudos
AntonVZhbankov
Immortal
Immortal

Matt,

Thank you for info.


---

VMware vExpert '2009

http://blog.vadmin.ru

EMCCAe, HPE ASE, MCITP: SA+VA, VCP 3/4/5, VMware vExpert XO (14 stars)
VMUG Russia Leader
http://t.me/beerpanda
0 Kudos
tfm
Contributor
Contributor

Could someone point me to tests and benchmarks that are publically available? I'm having this debate internally and I realize the only way to settle it would be to test our own specific apps, but I'm resource constrained myself and getting assistance from other teams is proving to be a challenge. Ideally I would be able to find some testig methodology I could run myself in our environment so to produce numbers internally that people outside my team (like developers who are now asking for 4-8 vCPU just because that's what they'd get on a new physical) can start to believe in.

Thanks,

Tim

0 Kudos
mcowger
Immortal
Immortal

VMmark is the best 'standard' benchmark there is, and there are a ton of published scores around.

Ultimately though, the only one that matters is YOUR app. If your app is like mine and does really well with multi vCPUs, it might be worth doing. If your app is like Parker's and only uses 1 core no matter what, then yeah, multi vCPUs would be pointless.






--Matt

VCP, vExpert, Unix Geek

--Matt VCDX #52 blog.cowger.us
0 Kudos
msemon1
Expert
Expert

Excellent post. I have been trying to convince others here that more is not always better. First thing people try is adding CPU's if they see a performance issue. I am in the process of scaling as many VM's from 2 vCPU's to 1 as possible to improve performance. One of the few VM's that can truely utilize 2 vCPU's is Windows 2008 with Exchange 2007(Resource Pig) I am trying to convince others to start with 1 vCPU.

Mike

0 Kudos
tfm
Contributor
Contributor

"If your app is like mine and does really well with multi vCPUs"

Is there a surefire way to validate that an app currently running on a 2-4 proc physical is really using the multiple procs or do you need to perf test both ways. For instance in windows I've always thought if you see the procs bouncing 75/25 then 25/75 then the box was in fact pegged, it was just bouncing one thread between two procs. So while it was actually using both procs, it was a waste because it couldn't use more than 100% of one proc. So I would think that would mean it's best to have a 1vCPU box. My issue is devs and PMs saying they need 4 cores and I want to give them one, but nobody has time to prove it one way or another.

0 Kudos
mcowger
Immortal
Immortal

Only surefire way is to perf test your app.






--Matt

VCP, vExpert, Unix Geek

--Matt VCDX #52 blog.cowger.us
0 Kudos
TomHowarth
Leadership
Leadership

If your app is like Parker's and only uses 1 core no matter what, then yeah, multi vCPUs would be pointless.

<Moderator Hat on> Why do you insist on baiting all the time Matt, Please desist, <Moderator hat off>

Tom Howarth VCP / vExpert

VMware Communities User Moderator

Blog: www.planetvm.net

Contributing author for the upcoming book "VMware Virtual Infrastructure Security: Securing ESX and the Virtual Environment”.

Tom Howarth VCP / VCAP / vExpert
VMware Communities User Moderator
Blog: http://www.planetvm.net
Contributing author on VMware vSphere and Virtual Infrastructure Security: Securing ESX and the Virtual Environment
Contributing author on VCP VMware Certified Professional on VSphere 4 Study Guide: Exam VCP-410
0 Kudos
mcowger
Immortal
Immortal

How is that baiting? I was AGREEING with him.






--Matt

VCP, vExpert, Unix Geek

--Matt VCDX #52 blog.cowger.us
0 Kudos
atbnet
Expert
Expert

We digress...

What I was asking was it does the max number of vCPUs equal the max cores per physical processor.

So only if I had a 20 core processor could I have 20 vCPUs in a VM?

I wasnt asking about the performance affects of vCPUs. Though got to agree that generally adding vCPUs increases performance in multi threaded apps like databases etc. If youve got some legacy app it probably wont make use of the extra vCPU and its time could have been better used in another time slice for another VM. If youve got lots of VMs like this then you will see general bad performance using more vCPUs.

Also bad P2Vs can cause 2+ vCPUs to give worse performance depending on the HAL. People forget to change it.

Andy, VMware Certified Professional / VMware vExpert Award 2009

Help, Guides and How Tos

If you found this information useful please award points using the buttons at the top of the page accordingly.

Andy Barnes
VCP / VCA-DT / MCITP:EA / CCIA
Help, Guides and How Tos... www.VMadmin.co.uk

If you found this information useful please award points using the buttons at the top of the page accordingly.
0 Kudos
oreeh
Immortal
Immortal

What I was asking was it does the max number of vCPUs equal the max cores per physical processor.

No!!!

So only if I had a 20 core processor could I have 20 vCPUs in a VM?

No! 4 vCPUs per VM but 20 vCPUs per core (=20 * 1vCPU VMs or 10 * 2 vCPU VMs or 5 * 4 vCPU VMs)

0 Kudos