On Fri, May 29, 2015 at 1:32 PM, Ben Pfaff <[email protected]> wrote: > On Wed, Apr 15, 2015 at 09:01:14AM -0700, Andy Zhou wrote: >> Add a set of user space instruction counters to help break down >> where instructions are spent. >> >> Here is an example of screen capture of adding a port to database >> without any monitoring client. >> >> ~/projs/ovs/tutorial$ ovs-appctl -t >> ovsdb-server ovsdb-server/perf-counters-clear >> ~/projs/ovs/tutorial$ ovs-vsctl add-port br0 p3 >> ~/projs/ovs/tutorial$ ovs-appctl -t >> ovsdb-server ovsdb-server/perf-counters-show >> ovsdb_execute_comment 1 1069 1069.0 >> ovsdb_execute_insert 2 40849 20424.5 >> ovsdb_execute_mutate 1 12166 12166.0 >> ovsdb_execute_select 1 9086 9086.0 >> ovsdb_execute_update 4 107140 26785.0 >> ovsdb_execute_wait 6 86628 14438.0 >> ovsdb_txn_commit 2 906922 453461.0 >> >> However, with 300 monitoring clients, add a port yield: >> >> ovsdb_execute_comment 1 1069 1069.0 >> ovsdb_execute_insert 2 43304 21652.0 >> ovsdb_execute_mutate 1 15173 15173.0 >> ovsdb_execute_select 1 10560 10560.0 >> ovsdb_execute_update 4 118056 29514.0 >> ovsdb_execute_wait 8 121386 15173.2 >> ovsdb_txn_commit 2 27976269 13988134.5 >> >> It is clear that ovsdb_txn_commit has the biggest scaling issue w.r.t >> the number of monitoring clients. >> >> Signed-off-by: Andy Zhou <[email protected]> > > This makes hundreds of tests fail on my system. Example backtrace:
Not sure what happened there. While reviewing the patch, I decided to simply it a bit more before sending out V2. Instead of two macros, I think a single macro wrap around a set of expression is probably more flexible and simpler to use. Review the performance data, it seems the most useful data is 'ovsdb_txn_commit' instruction counts. Simply the patch to only collect this number for now. Each performance counter read is a syscall, when this cost become significant, we may want to add ways to enable or disable data collection at run time. For now it is always enabled on any available platforms. I will post v2 soon. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
