Bug 1367826
Summary: | [scale] - Python SDK: Enable HTTP compression by default | ||
---|---|---|---|
Product: | [oVirt] ovirt-engine-sdk-python | Reporter: | Eldad Marciano <emarcian> |
Component: | Core | Assignee: | Ondra Machacek <omachace> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Eldad Marciano <emarcian> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 4.0.0a | CC: | bugs, eheftman, gklein, juan.hernandez, mperina, omachace |
Target Milestone: | ovirt-4.1.0-alpha | Keywords: | Improvement, Performance |
Target Release: | 4.1.0 | Flags: | rule-engine:
ovirt-4.1+
gklein: testing_plan_complete- rule-engine: planning_ack+ mperina: devel_ack+ eberman: testing_ack+ |
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Enhancement | |
Doc Text: |
Previously, Python SDK was configured to communicate with the server using uncompressed responses. This caused long response times. In this release, the default configuration is to send compressed responses.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2017-02-01 14:57:15 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | Infra | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Eldad Marciano
2016-08-17 14:51:30 UTC
juan - what is the status of compression in the new Ruby gem, which the new provider in CFME uses? Can this speed up initial inventory fetch? Any downside to this being the default? (higher CPU usage on the client? not sure it's an issue). Compression is also supported in the Ruby SDK, but it isn't enabled by default. Enabling it is a matter of adding the "compress=True" parameter (in Python) or ":compress => true" parameter (in Ruby). In the CFME provider compression isn't enabled: https://github.com/ManageIQ/manageiq/blob/master/app/models/manageiq/providers/redhat/infra_manager.rb#L65 Enabling it could speed up initial inventory fetch, but I guess that not a lot, as most of the time is due to the multiple network round-trips between ManageIQ and oVirt. I don't have numbers to back this statement. CPU usage is a downside, but probably not the most important. I believe that the most important downside is debugging. If compression is enabled then the debug messages (if debug is enabled) contain the compressed output (this is how libcurl works) which makes them almost useless. As debugging isn't enabled by default in ManageIQ I think we can enable compression. We should probably also add configuration parameters so that the ManageIQ user/developer can enable/disable both debugging and compression. Targeting to 4.1 for now, if needed we can backport to 4.0.z (in that we case we would need separate bugs for each SDK). The fix for this issue should be included in oVirt 4.1.0 beta 1 released on December 1st. If not included please move back to modified. verified on top of sdk 4.1: -=>>python /usr/lib64/python2.7/site-packages/ovirtsdk4/version.py 4.1.0a0 when ignore the compress flag when creating the api object: list size cap 10 response time 1.23655796051 list size cap 300 response time 1.87913990021 list size cap 500 response time 2.52585601807 |