
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.
A few explanation about that can be found at: https://devcentral.f5.com/articles/http-pipelining-a-security-risk-without-r... https://stackoverflow.com/questions/14810890/what-are-the-disadvantages-of-u...
Did you test it? Can you share the results? 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. 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.
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. In addition version 4 of the SDK does not use cookies. So this shouldn't be relevant.