[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: test008-concurrency timings
Forget this email; the test environment was unstable and the results are
invalid. Sorry about that. Stupid overheating pentiums...
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: owner-openldap-devel@OpenLDAP.org
> [mailto:owner-openldap-devel@OpenLDAP.org]On Behalf Of Howard Chu
> Sent: Tuesday, November 27, 2001 9:20 PM
> To: openldap-devel@OpenLDAP.org
> Subject: test008-concurrency timings
>
>
> Out of curiosity I got execution times for running the tester in
> test008-concurrency with various back-ldbm/back-bdb settings. I ran the
> tests with slapd debug set to 0, otherwise the debug log file output
> could skew the results. Otherwise the script is just modified by adding a
> "time" command in front of the $TESTER invocation.
>
> For back-ldbm, the results were fairly consistent:
> real 4m11.254s real 4m3.924s
> user 0m0.550s
> sys 0m0.440s
> (Since the work is done in forked children, only the real time is of
> interest.)
>
> For back-bdb, no options
> real 8m14.361s real 7m56.679s
> user 0m0.640s
> sys 0m0.550s
>
> back-bdb, dbnosync
> real 7m31.627s real 8m29.101s
> user 0m0.750s
> sys 0m0.430s
> There appears to be no real value one way or another to this
> option. I think
> the point is that the transaction log *must* get flushed sooner
> or later in
> order for subsequent transactions to proceed.
>
> back-bdb, dbnotxn
> real 4m47.651s real 5m28.831s
> user 0m0.700s
> sys 0m0.460s
> This trades transaction semantics (locking on a per-operation basis) for
> N-readers/1-writer semantics (locking per-database). Probably not a great
> idea in general use, but it provides a reference point for the other
> results. Theoretically, this ought to be about the same as regular
> back-ldbm.
>
> back-bdb, dirtyread
> real 4m8.588s real 5m17.011s
> user 0m0.690s
> sys 0m0.410s
> This is a pretty significant improvement, putting back-bdb with
> transactions
> back on par with back-ldbm's performance. What's interesting is
> that it can
> be at least as fast or even faster than no transactions at all.
>
> back-bdb, dirtyread, dbnosync
> real 3m3.770s real 3m31.418s
> user 0m0.670s
> sys 0m0.640s
> The real kicker - combining dirtyread with the otherwise useless dbnosync
> gets the best performance of all. Of course, you have no assurances that a
> committed transaction made it onto the disk, but that's true for the
> back-ldbm case here too. (back-ldbm is configured with dbnosync in this
> test.)
>
> It seems to me we should roll in both the DB_DIRTY_READ and DB_TXN_NOSYNC
> behaviors for the "dbnosync" config keyword, and forget the other options.
>
> -- Howard Chu
> Chief Architect, Symas Corp. Director, Highland Sun
> http://www.symas.com http://highlandsun.com/hyc
> Symas: Premier OpenSource Development and Support
>