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

Daniel Alvarez dalvarez at redhat.com
Wed Feb 28 22:45:11 UTC 2018


Thanks folks!

> On 28 Feb 2018, at 22:10, Ben Pfaff <blp at ovn.org> wrote:
> 
>> 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