[ovirt-users] ovirt sdk and pipelining
Fabrice Bacchella
fabrice.bacchella at orange.fr
Fri Jun 16 09:24:12 UTC 2017
> Le 16 juin 2017 à 10:13, Juan Hernández <jhernand at redhat.com> a écrit :
>
> On 06/16/2017 09:52 AM, Fabrice Bacchella wrote:
>> I just read the blog entry about performance increate in for the python sdk (https://www.ovirt.org/blog/2017/05/higher-performance-for-python-sdk/).
>>
>> I'm quite sceptical about pipelining.
> In our tests pipe-lining dramatically increases the performance in large
> scale environments with high latency. In our tests with 4000 virtual
> machines 10000 disks and 150ms of latency retrieving the complete
> inventory is reduced from approx 1 hour to approx 2 minutes.
>
Bench are the ultimate judge. So if it works in many different use case for , that's nice and intersting.
> Note that the usage of the HTTP protocol in this scenario is very
> different from the typical usage when a browser retrieves a web page.
Indeed, all the literature is about interactive usage. A very different use case.
>
>> It also talks about multiple connection, but don't use pycurl.CurlShare(). I thing this might be very helpfull, as it allows to share cookies, see https://curl.haxx.se/libcurl/c/CURLOPT_SHARE.html.
>>
>
> The SDK uses the curl "multi" mechanism, which automatically shares the
> DNS cache.
This: https://curl.haxx.se/libcurl/c/CURLOPT_DNS_USE_GLOBAL_CACHE.html ?
WARNING: this option is considered obsolete. Stop using it. Switch over to using the share interface instead! See CURLOPT_SHARE and curl_share_init.
> In addition version 4 of the SDK does not use cookies. So
> this shouldn't be relevant.
From some of my own code:
self._share.setopt(pycurl.SH_SHARE, pycurl.LOCK_DATA_COOKIE)
self._share.setopt(pycurl.SH_SHARE, pycurl.LOCK_DATA_DNS)
self._share.setopt(pycurl.SH_SHARE, pycurl.LOCK_DATA_SSL_SESSION)
And users apaches settings can use cookies for custom usages.
More information about the Users
mailing list