Skip to content

improve NETCONF performance

Andrei Pavel requested to merge 2400-netconf-performance into master

... by retrieving data nodes only once from the sysrepo datastore and iterating through them to get the leaves and leaf-list nodes that are required, as opposed to retrieving each and every leaf and leaf-list node from the datastore.

This empirically reduced the time required to push a configuration of 60k leaves and leaf-list nodes from approximately 9m30s to 3s. I encourage the reviewer to test the times in their setup as well.

The XML configuration that I used I generated with this script: big-yang-v4-xml.

Here is the generated configuration: kea-dhcp4-big.xml

You should be able to push this configuration with sysrepocfg -d running --edit=/etc/kea-dhcp4-big.xml.

Closes #2400 (closed).

This MR is against a branch that is spun off the main MR of 2311 to make the changes more readable. After it is approved, hopefully #2311 (closed) would have been merged by then, and I will make the necessary rituals to merge it to master.

graph LR
    2311-sysrepo2 --minor reordering of functions to make this MR more readable--> 2311-reorder
    2311-reorder --this MR--> 2400-netconf-performance
Edited by Andrei Pavel

Merge request reports