[Libvir] libvirt and accessing remote systems
Daniel P. Berrange
berrange at redhat.com
Thu Jan 25 12:09:24 UTC 2007
On Thu, Jan 25, 2007 at 11:03:32AM +0000, Mark McLoughlin wrote:
> On Thu, 2007-01-25 at 10:50 +0000, Mark McLoughlin wrote:
>
> > If a DomainGetInfo() call is in the sub-millisecond range then it's
> > never going to be a bottleneck IMHO.
>
> Hmm, that might sound like I'm talking out my ass ...
>
> Consider an app that displays the UUID of all guests in a list. It
> calls GetUUID() for each guest. With 100 guests you get figures like:
>
> + Direct HV calls - 500us
> + Proxy - 3ms
> + XML-RPC proxy - 100ms
> + Proxy over network - 10s
> + XML-RPC proxy over network - 10.1s
>
> So, the app seems snappy even with this number of guests until you run
> it over the network. At this point we optimise by adding a
> ListDomainUUIDs() call and this speeds up the local case too. At no
> point should we worry about the XML-RPC.
When we consider libvirt over a network, we're not really talking across
the whole world - really a LAN/WAN in a data center management role. I
would not expect network roundtrip ping time to be more than 20ms, perhaps
even as low as 5ms or less. So the 10s figure is a bit of an over estimate
I think. In addition, ignoring the roundtrip time for the client, that is
not inconsiderable CPU overhead on the server - monitoring 100 guests, once
per second uses 10% CPU time with XML-RPC compared to 0.3% with proxy.
That's not something to be discounted because there may well be several apps
talking to libvirt on a machine - eg the systems management tool, a monitoring
daemon, and a VM policy daemon.
Regards,
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 -=|
More information about the libvir-list
mailing list