I have already discussed the matter with Jay on IRC, even if for a different issue. In this specific case 'batching' will have the benefit of reducing the rootwrap overhead.
However, it seems the benefit from batching is not resolutive. I admit I have not run tests in the gate with batching; I've just tested in an environment without significant load, obtaining a performance increase of less than 10%. >From what I gathered even if commands are 'batched' to ovs-vsctl, operations are still individually performed on the kernel module. I did not investigate whether the cli commands sends a single or multiple commands on the ovsdb interface. Nevertheless, another thing to note is that it's not just ovs-vsctl that becomes very slow, but also, and more often than that, ovs-ofctl, for which there is no batching. Summarising, I'm not opposed to batching for ovs-vsctl, and I would definitely welcome it; I just don't think it will be the ultimate solution. Salvatore On 6 January 2014 11:40, Isaku Yamahata <isaku.yamah...@gmail.com> wrote: > On Fri, Dec 27, 2013 at 11:09:02AM +0100, > Salvatore Orlando <sorla...@nicira.com> wrote: > > > Hi, > > > > We now have several patches under review which improve a lot how neutron > > handles parallel testing. > > In a nutshell, these patches try to ensure the ovs agent processes new, > > removed, and updated interfaces as soon as possible, > > > > These patches are: > > https://review.openstack.org/#/c/61105/ > > https://review.openstack.org/#/c/61964/ > > https://review.openstack.org/#/c/63100/ > > https://review.openstack.org/#/c/63558/ > > > > There is still room for improvement. For instance the calls from the > agent > > into the plugins might be consistently reduced. > > However, even if the above patches shrink a lot the time required for > > processing a device, we are still hitting a hard limit with the execution > > ovs commands for setting local vlan tags and clearing flows (or adding > the > > flow rule for dropping all the traffic). > > In some instances this commands slow down a lot, requiring almost 10 > > seconds to complete. This adds a delay in interface processing which in > > some cases leads to the hideous SSH timeout error (the same we see with > bug > > 1253896 in normal testing). > > It is also worth noting that when this happens sysstat reveal CPU usage > is > > very close to 100% > > > > From the neutron side there is little we can do. Introducing parallel > > processing for interface, as we do for the l3 agent, is not actually a > > solution, since ovs-vswitchd v1.4.x, the one executed on gate tests, is > not > > multithreaded. If you think the situation might be improved by changing > the > > logic for handling local vlan tags and putting ports on the dead vlan, I > > would be happy to talk about that. > > How about batching those ovsdb operations? > Instead of issueing many ovs-vsctl command, > ovs-vsctl -- command0 [args] -- command1 [args] -- ... > > Then, the number of ovs-vsctl will be reduced and ovs-vsctl issues > only single ovsdb transaction. > -- > Isaku Yamahata <isaku.yamah...@gmail.com> > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev