[ovs-dev] [ovsdb speedup 00/18] improve ovsdb connection scaling

Andy Zhou azhou at nicira.com
Thu Apr 2 21:39:22 UTC 2015


On Wed, Apr 1, 2015 at 4:17 PM, Ben Pfaff <blp at nicira.com> wrote:
> On Thu, Mar 19, 2015 at 12:08:16AM -0700, Andy Zhou wrote:
>> This patch set implements two ideas improve ovsdb connection scaling:
>>
>> * Allow multiple jsonrpc connection to share a single ovsdb monitor, thus
>>   maintaining a single set of changes.
>>
>> * With in the same monitor, cache the json object generated for an update.
>>   If the same update is requested by another jsonrpc connection, the
>>   cached json object can be used, avoid regenerating it from scratch.
>
> This series is nice, but it adds a lot of complication.  That's fine,
> there's a lot of potential payoff, but I doubt that the existing
> testsuite really tests any of the new cases.  Before this goes in I'd
> really like to see some new tests that add some confidence regarding
> correctness.  Do you have an idea of how to test the new cases?
>

Thanks for the review.

Any idea on a simpler design, or a simpler implementation overall?
There are specific
suggestions on individual patches which I will try to implement.

I will add a few more tests that tests the new mechanisms added. May have to add
capabilities to expose internal state using appctl. Couple tests I can
think of are:

* Add tests for connections running at different speeds.
* Add control flags to disable sharing monitors or json cache, make
sure the results are the same.

> Also, have you tried running the existing ovsdb tests, or a subset of
> them, under valgrind?  e.g. "make check-valgrind" with appropriate
> TESTSUITEFLAGS to run tests of interest?  That would be likely to find
> low-hanging memory leaks and memory use errors that can easily crop up
> even in very carefully written code (be sure to look at the valgrind
> logs it produces).

Will do.



More information about the dev mailing list