yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #52295
[Bug 1511134] Re: Batch DVR ARP updates
[Expired for neutron because there has been no activity for 60 days.]
** Changed in: neutron
Status: Incomplete => Expired
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1511134
Title:
Batch DVR ARP updates
Status in neutron:
Expired
Bug description:
The L3 agent currently issues ARP updates one at a time while
processing a DVR router. Each ARP update creates an external process
which has to call the neutron-rootwrap helper while also "ip netns
exec <qrouter namespace>" -ing each time.
The ip command contains a "-batch <FILENAME>" option which would be
able to batch all of the "ip neigh replace" commands into one external
process per qrouter namespace. This would greatly reduce the amount of
time it takes the L3 agent to update large numbers of ARP entries,
particularly as the number of VMs in a deployment rises.
The benefit of batching ip commands can be seen in this simple bash
example:
$ time for i in {0..50}; do sudo ip netns exec qrouter-bc38451e-0c2f-
4ad2-b76b-daa84066fefb ip a > /dev/null; done
real 0m2.437s
user 0m0.183s
sys 0m0.359s
$ for i in {0..50}; do echo a >> /tmp/ip_batch_test; done
$ time sudo ip netns exec qrouter-bc38451e-0c2f-4ad2-b76b-daa84066fefb ip -b /tmp/ip_batch_test > /dev/null
real 0m0.046s
user 0m0.003s
sys 0m0.007s
If just 50 arp updates are batched together, there is about a 50x
speedup. Repeating this test with 500 commands showed a speedup of
250x (disclaimer: this was a rudimentary test just to get a rough
estimate of the performance benefit).
Note: see comments #1-3 for less-artificial performance data.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1511134/+subscriptions
References