[openstack-dev] [Neutron] OVS flow modification performance
iwamoto at valinux.co.jp
Thu Apr 7 08:00:23 UTC 2016
At Thu, 07 Apr 2016 16:33:02 +0900,
IWAMOTO Toshihiro wrote:
> At Mon, 18 Jan 2016 12:12:28 +0900,
> IWAMOTO Toshihiro wrote:
> > I'm sending out this mail to share the finding and discuss how to
> > improve with those interested in neutron ovs performance.
> > TL;DR: The native of_interface code, which has been merged recently
> > and isn't default, seems to consume less CPU time but gives a mixed
> > result. I'm looking into this for improvement.
> I went on to look at implementation details of eventlet etc, but it
> turned out to be fairly simple. The OVS agent in the
> of_interface=native mode waits for a openflow connection from
> ovs-vswitchd, which can take up to 5 seconds.
> Please look at the attached graph.
> The x-axis is time from agent restarts, the y-axis is numbers of ports
> processed (in treat_devices and bind_devices). Each port is counted
> twice; the first slope is treat_devices and the second is
> bind_devices. The native of_interface needs some more time on
> start-up, but bind_devices is about 2x faster.
> The data was collected with 160 VMs with the devstack default settings.
And if you wonder how other services are doing meanwhile, here is a
The ovs agent was restarted 3 times with of_interface=native, then 3
times with of_interface=ovs-ofctl.
As the test machine has 16 CPUs, 6.25% CPU usage can mean a single
threaded process is CPU bound.
Frankly, the OVS agent would have little rooms for improvement than
other services. Also, it might be fun to draw similar charts for
other types of workloads.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 87697 bytes
Desc: not available
More information about the OpenStack-dev