On Tue, Mar 15, 2016 at 10:49:14PM +0000, Gordan Bobic wrote:
On 2016-03-15 22:12, Richard W.M. Jones wrote:
On Tue, Mar 15, 2016 at 07:49:22PM +0000, Gordan Bobic wrote:
On 2016-03-15 18:32, Richard W.M. Jones wrote:
I may be missing some context here, but is there some reason not to just use a VM?
Performance for one.
Can you precisely quantify that?
On ARM? No, haven't tried it yet. On x86-64? Between 30% and 40% on a concurrent load saturating the CPU. Measured with different hypervisors (KVM, Xen and ESXi) and different generations of Intel CPUs from Core2 to Westmere Xeons. The results are reproducible on different loads, from a simple parallel kernel compile to a parallel read-only replay of MySQL general log.
You must be doing something very wrong if you see such a huge slowdown with KVM. Red Hat has a team that tracks performance and looks for regressions between releases. You shouldn't see more than a 5% slowdown, except in rare and exceptional corner cases, or if it's configured wrong. Hard to say what - perhaps not using virtio, or not using the right <cpu> model, or maybe overprovisioning.
Here are some old results on Core2 class hardware: https://www.altechnative.net/2012/08/04/virtual-performance-part-1-vmware/
I can't comment on VMware, nor on results from 4 years ago.
Unfortunately, later version of both hypervisors and hardware (I last ran similar tests using MySQL last year), exhibit the exact same performance degradation.
To reproduce:
- 1 host, 1 VM
- Give the VM all CPU cores available on the host
- Run test with double the number of threads as there are CPU cores
So the problem is overprovisioning.
I think RHELSA 7.3 will have a 4.5 kernel. Of course "LT" kernels aren't really relevant for Red Hat, because we spend huge amounts of money supporting our kernels long term.
Let's not go there: https://bugzilla.redhat.com/show_bug.cgi?id=773107
We don't support self-compiled kernels, for fairly obvious reasons.
Rich.