[ovirt-users] Delay difference between queries (Python vs REST)

Juan Hernández jhernand at redhat.com
Tue Jan 17 15:26:07 UTC 2017


On 01/17/2017 03:56 PM, Nicolas Ecarnot wrote:
> Hello,
> 
> On a 3.6.5 DC, I'm trying to figure out how many VMs there are, using
> two methods :
> 
> _*Python SDK :*_
> 
> *from ovirtsdk.xml import params
> from ovirtsdk.api import API
> api = API(url='https://engine.fqdn/ovirt-engine/api',
> username='admin at internal', password='xxx', insecure=True)
> print len(api.vms.list())*
> 
> time ./getMvm.py
> 62
> 
> real    0m23.016s
> user    0m22.288s
> sys    0m0.054s
> 
> 
> _*REST :*_
> 
> *time curl -H "Version: 3" -H "Prefer: persistent-auth" -H "Filter:
> false" -H "Accept: application/xml" -H "Content-Type: application/xml"
> -k -u 'admin at internal:xxx' https://***engine.fqdn*/ovirt-engine/api/vms*
> 
> (Then grep or anything that would get the values from the xml returned.)
> 
> real    0m0.383s
> user    0m0.036s
> sys    0m0.038s
> 
> 
> I am a beginner in both methods, but I would prefer play with Python.
> I'm very surprised to have to wait more than 20 seconds to get an answer.
> Looking at the engine log, I see that the authentication part is
> finished after say 3 seconds, then 20 seconds with absolutely no error
> message, no CPU load, no RAM burst, no nothing.
> On the SPM, exactly triple null nothing nada niet void is obviously
> explaining such a delay.
> 
> I'm wondering if this super hyper sluggishness is somewhat related to
> the GUI global slowness I'm experiencing like other users since we left
> 3.2.x, and I would love that some oVirt ninja uses the comparison above
> to tell what parts in oVirt is used or not that could explain such a
> difference (database, access to SPM, LVM, network access, whatever...)
> 
> -- 
> Nicolas ECARNOT
> 

The performance problem is inside version 3 of the Python SDK. That is
one of the reasons that we had to do a new version of the Python SDK for
version 4 of the engine. If you are using version 4 of the engine then
you can use version 4 of the SDK:

  https://github.com/oVirt/ovirt-engine-sdk/tree/master/sdk

https://github.com/oVirt/ovirt-engine-sdk/blob/master/sdk/examples/list_vms.py

It should be much faster. Would be nice if you can repeat your test and
report the results.



More information about the Users mailing list