On Fri, Mar 08, 2013 at 10:21:27AM +0800, Mark Wu wrote:
On 03/07/2013 07:25 PM, Vinzenz Feenstra wrote:
Please find the prettier version on the wiki: http://www.ovirt.org/Proposal_VDSM_-_Engine_Data_Statistics_Retrieval
Proposal VDSM - Engine Data Statistics Retrieval
VDSM <=> Engine data retrieval optimization
Motivation:
Currently the RHEVM engine is polling the a lot of data from VDSM every 15 seconds. This should be optimized and the amount of data requested should be more specific.
If the data size really matters, we could also consider to pack the information into binary. I am not sure if it's suitable in the transmission of XMLRPC.
I do not think we should embed binary in XMLRPC. I'd consider compressing the data at the transport layer - but that would be a completely deferent feature.
For each VM the data currently contains much more information than actually needed which blows up the size of the XML content quite big. We could optimize this by splitting the reply on the getVmStats based on the request of the engine into sections. For this reason Omer Frenkel and me have split up the data into parts based on their usage.
This data can and usually does change during the lifetime of the VM.
Rarely Changed:
This data is change not very frequent and it should be enough to update this only once in a while. Most commonly this data changes after changes made in the UI or after a migration of the VM to another Host.
*Status* = Running *acpiEnable* = true *vmType* = kvm *guestName* = W864GUESTAGENTT *displayType* = qxl *guestOs* = Win 8 *kvmEnable* = true #/*this should be constant and never changed*/
Then it should be removed from vm stats. In my opinion, any information belongs to vm's static configuration, it shouldn't be included in vm stats. For the fields above, except 'Status', engine can get the information without querying the vdsm host. It could not be changed by vdsm itself, right?
actually, guestName and guestOs may change - for example by installing Linux on that Windows guest.