I used to run 4 VMs on my dual core machine but actually was running nothing seriousely. A while back I read an article from Ubuntu about its cloud setup, mentioning you should not run VMs more than number of cores you have, I was laughing at the article at that time, since it sounds ridiclous – as long as CPU can handle the load, we should run as many VMs as possible and – the bottleneck seems coming freom memory to me.
Obviously I was wrong. Once I started testing Casasandra, I got lots of timeouts from 4 VMs, I checked memory, there was no problem at all, i.e. every VM’s memory is in physical memory. I was also doubt Ubuntu is not doing as good as Fedore, obviously Iwas wrong either, then I recalled the article, shut down 2 VMs and … you know, things work like a chime.
There could be saomew thesis telling why CPU is the bottleneck, but I don’t have time to dig it out, the most important lesson I took from this case is, don’t take anythingn in granted, respect preofessional advices
3 Responses to “Performance of VMs”
Sorry, the comment form is closed at this time.
I need to do another test to prove what I mentioned above is correct – it seems VM matters, at least ProxMox is doing better than VMWare ESX, but this is just feeling for now, I will get clear picture after I get the test done.
BTW, the test will be my first Python program on Linux ๐
Obviously Proxmox is doing much better than VMWare ESX, though I don’t know where the difference comes from.
I created 4 VMs under proxmox, each with 1 CPU, 512M mem, and 10G disk, then I launched Cassandra on all these four, and started my load generation client (simple write), average response time is about 8ms/write (tested with 100K writes), but the number I got from VMWare ESX with 2 VMs was … 25ms/write, and with 4 VMs it was ~50ms.
I think VMWare ESX is doing something seriously wrong, or both are using totally different technology that it does not make sense to compare them at all. Anyway, I will stick with proxmox which has much better performance and, no more license issues.
Alright, I got two articles that have same conclusion as I got:
http://www.workswithu.com/2009/04/27/kvm-vs-vmware-a-case-study/
http://www.linux-kvm.com/content/kvm-vs-vmware-esx-which-can-run-more-virtual-machines
roughly, on same hardware, number of VMs that they can support is 5 (KVM) vs. 3 (VMWare), which is close to mine (4 vs. 2).
It seems the reason is KVM (which proxmox is using) is doing much more better than VMWare.