
On Tue, Nov 12, 2013 at 11:49:12AM +0100, Michal Skrivanek wrote:
On Nov 12, 2013, at 11:18 , Tomas Jelinek <tjelinek@redhat.com> wrote:
So we have looked into the resource usage sampling with mbetak and also with Michal and it seems that
for the CPU usage: - VDSM polls libvirt to get the runtime statistics of the VM regularly. The pooling interval is configured in vdsm.conf as vm_sample_cpu_interval and by default it is 15 seconds - libvirt returns something we than use to calculate the average CPU usage since the last poll - engine polls VDSM once in 15 seconds to get the current statistics (the same 15 seconds is just a coincidence and we can not count on this) - than the frontend polls the engine each 5-60 seconds (depends on the refresh rate) and gets the current value from the engine - the user can press the refresh button anytime to poll the engine again
For network usage: - it should be pretty much the same as the CPU just the VDSM poll interval is configured as vm_sample_net_interval and by default it is 5 seconds
Dan, since we poll only every 15s and cpu info is 15s wouldn't it make sense to change the default for network monitoring to 15s as well? it's 2 libvirt rounds trip for nothing really. Or does it serve some other purpose?
I see no motivation for Vdsm to poll libvirt faster than Engine polls Vdsm. Maybe Federico, who's improved scalability back in https://bugzilla.redhat.com/show_bug.cgi?id=661321 [vdsm] [scale] vdsm CPU consumption goes between 180-400 when running 100 vms remembers a reason. I'm for changing the default to 15.