mutexed tdb benchmarks
Jeremy Allison
jra at samba.org
Thu May 22 11:20:27 MDT 2014
On Thu, May 22, 2014 at 01:22:57PM +0200, Stefan (metze) Metzmacher wrote:
> Hi,
>
> here're the patches to finally get the support for
> locking based on process shared robust mutexes into the upstream tdb
> release stream.
>
> We at SerNet developed these patches for an OEM in order to speed up some
> performance bottlenecks in some Samba workloads.
>
> The original patches (written by Volker Lendecke) are well tested in the
> OEM's branch for over a year now.
>
> The current proposed patchset contains some additional modifications by
> Michael Adam and myself in order to make the code portable to older
> system without support for robust mutex support.
> We made sure the new locking is tested in Samba's autobuild and the
> autobuild passes on system with and without robust mutex support
> just fine. Which implies that there's no negative impact
> in the behavior expected by Samba.
>
> This feature can be turned on for all Samba tdbs (used via the dbwrap layer)
> by using "dbwrap_tdb_mutexes:* = yes" or for individual tdbs by using:
> "dbwrap_tdb_mutexes:locking.tdb = yes". It's not yet enabled by default,
> but we can certainly discuss that.
>
> With the current code I'm getting the following system:
> - Thinkpad x230
> - 2 Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz using hyperthread (4
> logical cpus)
> - Crucial M400 (M4-CT512M4SSD2) ssd.
> - Ubuntu 12.04
> - linux-generic-lts-raring (3.8.0-39-generic)
> - TRANSACTION_PROB, TRANSACTION_PREPARE_PROB, TRAVERSE_PROB,
> TRAVERSE_READ_PROB
> undefined in tdbtorture.c
>
> $ time bin/tdbtorture -n 250 -l 2000 -s 1 -H 1000
> Testing with 250 processes, 2000 loops, 1000 hash_size, seed=1
> OK
> 5.31user 496.73system 2:07.58elapsed 393%CPU (0avgtext+0avgdata
> 12256maxresident)k
> 0inputs+9416outputs (0major+976225minor)pagefaults 0swaps
>
> $ time bin/tdbtorture -n 250 -l 2000 -s 1 -H 1000 -m
> Testing with 250 processes, 2000 loops, 1000 hash_size, seed=1
> OK
> 5.92user 115.91system 0:31.29elapsed 389%CPU (0avgtext+0avgdata
> 12304maxresident)k
> 0inputs+4832outputs (1major+924760minor)pagefaults 0swaps
>
> Jeremy, please push this to master if you're happy with it.
WooHoo! Finally.... !!!!
Been waiting for this for a long time :-).
Anyone shipping Samba servers as a product should
be looking *closely* at this technology change..
Jeremy.
More information about the samba-technical
mailing list