<div dir="ltr">Wow, amazing, big +1 for such patch. :D<br></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Feb 27, 2018 at 3:57 PM Daniel Alvarez Sanchez &lt;<a href="mailto:dalvarez@redhat.com">dalvarez@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>When working on the performance of the OVN OpenStack integration and following up this thread [0].</div><div><br></div><div>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&#39;s a &#39;modify&#39; operation, the data is converted to JSON [1] and then we build a Row from this JSON [2]. </div><div><br></div><div>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.</div><div><br></div><div>After removing the extra conversions (I&#39;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&#39;s cut down considerably.</div><div><br></div><div>This would make the implementation of the Port_Set discussed at [0] less urgent.</div><div><br></div><div>[0] <a href="https://mail.openvswitch.org/pipermail/ovs-discuss/2018-February/046149.html" target="_blank">https://mail.openvswitch.org/pipermail/ovs-discuss/2018-February/046149.html</a></div><div>[1] <a href="https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L604" target="_blank">https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L604</a></div><div>[2] <a href="https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L524" target="_blank">https://github.com/openvswitch/ovs/blob/f73d562fc0ee3ff43f65cc418f213a79a727cb19/python/ovs/db/idl.py#L524</a></div><div>[3] <a href="http://dani.foroselectronica.es/ovn-profiling-and-optimizing-ports-creation-434/" target="_blank">http://dani.foroselectronica.es/ovn-profiling-and-optimizing-ports-creation-434/</a></div></div>
_______________________________________________<br>
discuss mailing list<br>
<a href="mailto:discuss@openvswitch.org" target="_blank">discuss@openvswitch.org</a><br>
<a href="https://mail.openvswitch.org/mailman/listinfo/ovs-discuss" rel="noreferrer" target="_blank">https://mail.openvswitch.org/mailman/listinfo/ovs-discuss</a><br>
</blockquote></div>