[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