On Thu, Jan 25, 2007 at 04:56:23AM -0500, Daniel Veillard wrote:
On Wed, Jan 24, 2007 at 11:48:47PM +0000, Daniel P. Berrange wrote:
> On Wed, Jan 24, 2007 at 02:17:31PM +0000, Richard W.M. Jones wrote:
> > * Another proposal was to make all libvirt calls remote
> > (
http://people.redhat.com/berrange/libvirt/libvirt-arch-remote-3.png)
> > but I don't think this is a going concern because (1) it requires
> > a daemon always be run, which is another installation problem and
> > another chance for sysadmins to give up, and (2) the perception will
> > be that this is slow, whether or not that is actually true.
>
> I'd never compared performance of direct hypercalls vs libvirt_proxy
> before, so I did a little test. The most commonly called method is
> virt-manager is virDomainGetInfo for fetching current status of a
> running domain - we call that once a second per guest.
>
> So I wrote a simple program in C which calls virDomainGetInfo 100,000
> times for 3 active guest VMs. I ran the test under a couple of different
> libvirt backends. The results were:
>
> 1. As root, direct hypercalls -> 1.4 seconds
> 2. As non-root, hypercalls via libvirt_proxy -> 9 seconds
> 3. As non-root, via XenD -> 45 minutes [1]
>
> So although it is x10 slower than hypercalls, the libvirt_proxy is
> actaully pretty damn fast - 9 seconds for 300,000 calls.
Interesting figures, I has expected the proxy inter-process communication
to slow things down more, I guess it works well because scheduling follows
exactly the message passing so there is little latency in the RPC, was that
on a uniprocessor machine ?
It was a dual core machine, so there wasn't so much process-contention as
you'd get on UP.
> [1] It didn't actually finish after 45 seconds. I just got bored of waiting.
s/seconds/minutes/ I guess, and you checked CPU was at 100% not a bad deadlock
somewhere, right ;-) ?
Of course I meant minutes here :-) At least 60% of the CPU time was the
usual XenStoreD doing stupid amounts of I/O problem.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules:
http://search.cpan.org/~danberr/ -=|
|=- Projects:
http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|