Bug 1906940
Summary: | [OVN SCALE] Use column diffs for ovsdb and raft log entries | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux Fast Datapath | Reporter: | Ilya Maximets <i.maximets> |
Component: | openvswitch2.15 | Assignee: | Ilya Maximets <i.maximets> |
Status: | CLOSED ERRATA | QA Contact: | Zhiqiang Fang <zfang> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | FDP 20.I | CC: | ctrautma, dcbw, dceara, jhsiao, jnordell, kfida, mark.d.gray, ralongi, rsevilla, tredaelli, zzhao |
Target Milestone: | --- | ||
Target Release: | FDP 21.B | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | openvswitch2.15-2.15.0-1.el8fdp | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-03-15 14:33:59 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1908916 |
Description
Ilya Maximets
2020-12-11 21:12:44 UTC
I prepared a scratch build of the openvswitch package with this patch applied. Available here: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=33760390 or http://brew-task-repos.usersys.redhat.com/repos/scratch/imaximet/openvswitch2.13/2.13.0/78.el8fdp/x86_64/ @Dan, can we ask someone from the perf scale team to test? The main thing to check is the memory consumption graph for the northbound and southbound databases during the scale test. And also, size of on-disk database files. Overall performance is interesting as usual. After running some perf-scale tests using the RPMs provided by Ilya I can confirm a big improvement in terms of memory usage from the NBDB and SBDB components. These are the results I got after triggering 2k iterations of the cluster-density workload on a 125 node cluster: - The three OVN SBDB containers ended up with a RSS memory usage of ~1.56 GiB, with some periodic memory spikes reaching ~2.4GiB, my suspects are these spikes are directly related with the ovsdb compaction process. - On the other hand, NBDB containers ended up with an usage of ~200MiB, reaching a maximum of 254MiB Comparing with previous results these results represent an optimization of up to ~40% of memory usage from sbdb and more than 90% in nbdb. It's also important to note a ~40% reduction of the I/O activity (disk write throughput) generated by these containers. This is also important due to these components are colocated with etcd by default. All tests were triggered after enabling memory trimming and compacting databases manually with: ``` for p in $(oc get -n openshift-ovn-kubernetes pod -o name -l app=ovnkube-master); do oc exec -c nbdb $p -- ovn-appctl -t /var/run/ovn/ovnnb_db.ctl ovsdb-server/compact oc exec -c nbdb $p -- ovn-appctl -t /var/run/ovn/ovnnb_db.ctl ovsdb-server/memory-trim-on-compaction on oc exec -c sbdb $p -- ovn-appctl -t /var/run/ovn/ovnsb_db.ctl ovsdb-server/compact oc exec -c sbdb $p -- ovn-appctl -t /var/run/ovn/ovnsb_db.ctl ovsdb-server/memory-trim-on-compaction on done ``` PS: The workload finished correctly and I didn't observe any regression. Patch was accepted in upstream and will be patch of openvswitch 2.15 release. http://patchwork.ozlabs.org/project/openvswitch/patch/20210114011121.4140984-1-i.maximets@ovn.org/ Changing component to openvswitch since implementation belongs there. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (new package: openvswitch2.15), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2021:0838 |