[ovs-discuss] ????: ????: ????: ????: ????: [ovs]deleting interfaces connnected to ports results in ovs-vswitchd memory growing

Ben Pfaff blp at nicira.com
Tue Apr 30 23:03:42 UTC 2013

On Thu, Apr 25, 2013 at 12:28:46PM +0000, pengyi Peng(Yi) wrote:
> I find the reason why ovs commits so many transactions.
> In bridge_run, ovs-vswitchd would refresh interface statistic if
> necessary. If the number of ports is big enough such as 500, it will
> take a long time to check every port's statistic. If statistic
> changes, ovs- vswitchd will send messages to ovsdb which costs much
> resource. And if every port's statistic keeps changing, the length and
> the number of the message will be so big that ovs can't deal with it.

I see two issues here.

First, it is surprising that checking the statistics for 500 interfaces
and sending updates to ovsdb-server, only once every 5 seconds, manages
to take a long time.  We have tested OVS with thousands of interfaces
and have not had this problem.  Is there anything unusual about your
setup, for example a slow CPU or port statistics that take a long time
to query, that would make your case different?

Second, it should not be too hard to change OVS so that, instead of
trying to refresh interface stats into the database every 5 seconds, it
waits for the previous stats transaction to finish committing, then
waits 5 seconds, then starts the next stats transaction.  That would
keep stats from consuming an unbounded amount of space on the database
connection, but it would not require disabling interfaces stats.  Does
this make sense to you?

More information about the discuss mailing list