[libvirt-users] Libvirt profiling

Daniel P. Berrange berrange at redhat.com
Tue Apr 23 08:15:11 UTC 2013


On Tue, Apr 23, 2013 at 10:09:15AM +0200, Jon Martin Sigvaldsen wrote:
> Hi
> 
> For a school project I am researching performance issues when using libvirt
> to run very large numbers of virtual machines.
> 
> My experiments indicate that having more CPU cores negatively impacts the
> performance. A simple desktop with an Intel Core 2 Duo E6550 performs
> better than a server with a 48 core AMD CPU. Limiting the cores used
> through 'cputune' improves performance on the server. If anyone has got any
> explanations for this, it would be greatly appreciated.

When you get machines with large numbers of CPUs, you've undoubtably
also got a NUMA topology involved. To get maximum performance out of
such machines you need to ensure that each VM runs entirely within
one single NUMA node. If you have a VM whose memory allocation is
split across NUMA nodes, or one where memory is on a different node
to its CPUs, they you will absoletely ruin performance of the machine.
Latest libvirt has integration with a daemon called 'autonuma' which
attempts to place individual VMs within individual NUMA nods when
they are started.

> Further on I would like to profile the slowdowns, but I am not sure how to
> approach this problem. Any recommendations on how to do this?

oprofile is one useful tool for profiling kernel + application operation.

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvirt-users mailing list