Le 16 juin 2017 à 10:13, Juan Hernández <jhernand(a)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.