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 :| _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users