[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libvir] libvirt and accessing remote systems



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  -=| 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]