<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Hi all,<div><br></div><div>If you are using ovsdbapp (python) then the problem might be there or in the OVS python IDL as you mention it’s control plane.</div><div><br></div><div>We did quite a few optimizations in both areas that should speed port handling up.</div><div>However there is things that needs more perfomance as for example we are doing weird sorts in the production code just to accommodate tests.</div><div><br></div><div>Can you give some details about the actual operations that take time? Maybe you can also check the time between when OVSDB sends the response to ovsdbapp and its ready in Neutron. I think this issue the main culprit as there is a lot of conversions going on between JSON and Py objects.</div><div><br></div><div>Cheers,</div><div>Daniel&nbsp;</div><div><br></div><div><br><div dir="ltr"><br>On 8 May 2019, at 20:00, William Konitzer &lt;<a href="mailto:wkonitzer@mirantis.com">wkonitzer@mirantis.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="Content-Type" content="text/html; charset=utf-8">Hi Ben and Flavio,<div class=""><br class=""></div><div class="">Thanks for responding. I should clarify that the performance problem is with the control plane, not the data plane.</div><div class=""><br class=""></div><div class="">What we’re encountering is more like the problem described here</div><div class=""><a href="https://mail.openvswitch.org/pipermail/ovs-discuss/2014-September/034907.html" class="">https://mail.openvswitch.org/pipermail/ovs-discuss/2014-September/034907.html</a></div><div class=""><br class=""></div><div class="">We’ve using OpenStack Neutron (ovsdbapp library) to update ovsdb data, and networks are provisioned as customers are added to the cloud. As we don’t know in advance what the customer will create we can’t bulk provision. What we’re finding is once we have about 1500 ports adding new networks becomes extremely slow due to ovsbd taking a long time.</div><div class=""><br class=""></div><div class="">Is this something you’ve come across before? We’re using Open vSwitch 2.8.0. I’m open to upgrading but I can’t see anything in the change logs that immediately suggest an upgrade would help.</div><div class=""><br class=""></div><div class="">Kind regards,</div><div class="">Will<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On May 2, 2019, at 2:49 PM, Flavio Leitner &lt;<a href="mailto:fbl@sysclose.org" class="">fbl@sysclose.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">On Thu, May 02, 2019 at 04:44:42PM -0300, Flavio Leitner via discuss wrote:</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">On Tue, Apr 30, 2019 at 04:50:48PM -0700, Ben Pfaff wrote:<br class=""><blockquote type="cite" class="">On Fri, Apr 26, 2019 at 11:52:22AM -0500, William Konitzer wrote:<br class=""><blockquote type="cite" class="">I'm reading<br class="">(<a href="http://www.openvswitch.org/support/dist-docs/ovs-vswitchd.8.txt" class="">http://www.openvswitch.org/support/dist-docs/ovs-vswitchd.8.txt</a><br class="">section LIMITS) and it says "Performance will degrade beyond 1,024<br class="">ports per bridge due to fixed hash table sizing.” Do we have a little<br class="">more info on what that means and what to expect for less experienced<br class="">users like myself?<br class=""></blockquote><br class="">I think that this comment is now obsolete. &nbsp;There was a fairly recent<br class="">change that should have reduced the cost of a port. &nbsp;The kernel hash<br class="">table is still fixed in size but I don't think it's accessed on any fast<br class="">path so I think in practice it doesn't matter.<br class=""><br class=""><blockquote type="cite" class="">The background here is we’re working with OpenStack and seeing<br class="">performance issues when lots of networks are created.. Once we have<br class="">more than about 1500 ports on the br-int on a gateway node it seems to<br class="">take a long time to add new ports.<br class=""></blockquote></blockquote><br class="">You might want to bump the default netdev_max_backlog because that<br class="">is the maximum amount of packets queued. So, if you have too many<br class="">ports, there will be either packet loss, or slow path'ed traffic.<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">To clarify, it depends on the actions. If you are using action</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">NORMAL and there is a broadcast for example, all ports need a</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">packet copy, which means more than 1k packets will be queued.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">IIRC OvS will slow path this case to prevent packet loss in</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">the recent versions.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">fbl</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><style class="">ul[class*='mb-extra__public-links'], ul[class*='mb-note__public-links'], ul[class*='mb-task__public-links'] { display: none !important; }</style></div></blockquote></div><br class=""></div><img src="https://bowtie.mailbutler.io/tracking/hit/9356d05e-058d-49d9-b074-b910e13c8216/ac301536-938a-49c6-8627-f0c396def742/t.gif" align="left" width="0" height="0" style="width:0;height:0;border:0;" title="" alt="" id="MailbutlerTrackingPixel" class="lp-rich-link"></div></blockquote><blockquote type="cite"><div dir="ltr"><span>_______________________________________________</span><br><span>discuss mailing list</span><br><span><a href="mailto:discuss@openvswitch.org">discuss@openvswitch.org</a></span><br><span><a href="https://mail.openvswitch.org/mailman/listinfo/ovs-discuss">https://mail.openvswitch.org/mailman/listinfo/ovs-discuss</a></span><br></div></blockquote></div></body></html>