[ovs-dev] ovsdb-server servicing large number of idle connections

Andy Zhou azhou at ovn.org
Mon Feb 8 23:44:10 UTC 2016


Hi, Han,

This is to follow up on the Thursday OVN IRC chat.  After the meeting, I
was able replicate the test condition you mentioned  where a single
ovsdb-server services 1000 ovsdb-client connections.  When there is no
ovsdb transactions going on,
large number of CPU cycles are used ( on my machine, 40% CPU load) to
service OVS poll loop.

Current OVS, for design simplicity, does not return which socket has
pending events (input, output or other changes). In stead, the main loop
visits all open sockets to find out which socket has pending events.

When the number of active connections are small, this design works well.
But obviously it won't scale to large number of sockets.  I am working on
patches to improve poll loop. Hope to post them soon for review.

Thanks for mentioning this on IRC.

Andy



More information about the dev mailing list