[ovs-discuss] [OVN] Python IDL: handling modify operations in update2 notifications is slow

Ben Pfaff blp at ovn.org
Wed Feb 28 21:10:10 UTC 2018


On Tue, Feb 27, 2018 at 03:56:40PM +0100, Daniel Alvarez Sanchez wrote:
> Hi all,
> 
> When working on the performance of the OVN OpenStack integration and
> following up this thread [0].
> 
> I went a bit deeper trying to find out the root cause of the linear growth.
> It happens that during the processing of the update2 messages, when there's
> a 'modify' operation, the data is converted to JSON [1] and then we build a
> Row from this JSON [2].
> 
> This seems pretty useless and, since the JSON document is not used anywhere
> else, I just avoided that conversion. This conversion takes longer as the
> number of elements in the row increases, which is the case of adding a new
> address to the Address_Set table or adding new ACLs to the acl column in
> Logical_Switch. This have a big impact at scale and it can be easily fixed.
> 
> After removing the extra conversions (I'll be submitting the patch in a
> while), the time for creating ports from OpenStack remains almost constant
> regardless of the amount of ports in the system as you can see in the
> attached image and further in this blogpost [3] and it's cut down
> considerably.

Great detective work!


More information about the discuss mailing list