← Back to team overview

maria-developers team mailing list archive

Re: Userstats patch applied to MariaDB 5.2

 

This includes results from sysbench for Maria 5.2 with/without
userstat enabled and for several other binaries. The results are
throughput (transactions per second) for 1, 2, 4, 8, 16, 32 concurrent
sessions.

------------

This tests many binaries including 5.0.37 with the v2 Google patch (aka 5037v2).
On a configuration I no longer have access to, 5037v2 had a severe performance
regression from code in the SHOW [TABLE|USER|_STATISTICS patch. The regression
was caused by mutex contention. The result on my current platform is
much less severe,
but you can see the impact in simple-allcols and simple-handler listed below
-- compare 5037, 5037v2 and 5037v4.

I am using glibc 2.5 now and used an older glibc version in the past. I am
curious if pthread code is that much better on my current platform.

I thought that the Maria version of that feature would inherit this performance
problem. Performance loss in Maria is 5% to 10% with userstat enabled for
high levels of concurrency -- again see results for simple-allcols and
simple-handle -- and this is much less than the loss in 5037v2, but more
than the loss in 5037v4 which had fixes for user and table stats code.

-----------

This uses a new version of sysbench available on Launchpad:
http://code.launchpad.net/~sysbench-developers/sysbench/0.4

Command lines for each test:

oltp-ro ==
sysbench --test=oltp --oltp-table-size=2000000 --max-t ime=180 \
--max-requests=0 --mysql-table-engine=innodb --db-ps-mode=disable \
--mysql-engine-trx=yes --oltp-read-only --oltp-skip-trx \
--oltp-dist-type=special --num-threads=$n --seed-rng=1 run

oltp-rw ==
sysbench --test=oltp --oltp-table-size=2000000 --max-time=180 \
--max-requests=0 --mysql-table-engine=innodb --db-ps-mode=disable \
--mysql-engine-trx=yes --oltp-dist-type=special --num-threads=$n
--seed-rng=1 run

This fetches all columns using primary key lookups and SELECT
simple-allcols ==
sysbench --test=oltp --oltp-table-size=2000000 --max-time=180 \
--max-requests=0 --mysql-table-engine=innodb --db-ps-mode=disable \
--mysql-engine-trx=yes --oltp-read-only --oltp-skip-trx \
--oltp-test-mode=simple --oltp-point-select-all-cols \
--oltp-dist-type=special --num-threads=$n --seed-rng=1 run

This fetches all columns using primary key lookups and HANDLER
simple-handler ==
sysbench --test=oltp --oltp-table-size=2000000 --max-time=180 \
--max-requests=0 --mysql-table-engine=innodb --db-ps-mode=disable \
--mysql-engine-trx=yes --oltp-read-only --oltp-skip-trx \
--oltp-test-mode=simple --oltp-point-select-mysql-handler \
--oltp-dist-type=special --num-threads=$n --seed-rng=1 run

my.cnf settings:
innodb_buffer_pool_size=2000M
innodb_log_file_size=100M
innodb_doublewrite=0
innodb_flush_method=O_DIRECT
innodb_thread_concurrency=0
max_connections=500
innodb_max_dirty_pages_pct=80
innodb_flush_log_at_trx_commit=2

server:
glibc 2.5
8 core Intel x86

binaries:
4030 - mysql 4.0.30
5037 - mysql 5.0.37
5037v2 - mysql 5.0.37 with v2 google patch
5037v4 - mysql 5.0.37 with v4 google patch
5084 - mysql 5.0.84
5084dev1020 - facebook patch + 5.0.74
5138pi - 5.1.38 + 1.0.4 InnoDB plugin
maria.nostat - Maria 5.2 with userstat disabled
maria.stat - Maria 5.2 with userstat enabled

notes:
5.0 binaries compiled with:
configure --enable-thread-safe-client --prefix=$b --exec-prefix=$b \
--with-plugins=max-no-ndb --without-fast-mutexes \
--with-unix-socket-path=$b/var/mysql.sock --with-extra-charsets=all \
--with-blackhole-storage-engine
C_EXTRA_FLAGS="-g -O2 -fno-omit-frame-pointer"

5.1 binaries compiled with:
configure --enable-thread-safe-client --prefix=$b --exec-prefix=$b \
--with-plugins=csv,blackhole,myisam,heap,innobase --without-fast-mutexes \
--with-unix-socket-path=$b/var/mysql.sock --with-extra-charsets=all \
C_EXTRA_FLAGS="-g -O2 -fno-omit-frame-pointer"

oltp-ro
  1         2           4         8         16       32
concurrent_sessions / binary
505     849     1264    1036    1341    1261    4030
778     1311    2502    4276    4046    3732    5037
683     1280    2239    3526    3268    2730    5037v2
690     1249    2489    4428    3984    3687    5037v4
747     1328    2596    4341    4123    4046    5084dev1020
797     1372    2708    4550    4256    4189    5084
780     1362    2590    4287    4193    4096    5138pi
703     1425    2593    4379    4176    4110    maria.nostat
684     1281    2439    4064    3896    3882    maria.stat

oltp-rw
  1        2         4             8          16         32
concurrent_sessions / binary
258     341       460      477     459      466     4030
475     919     1669    2766    2110    1824    5037
499     887     1537    2208    2099    1811    5037v2
506     923     1694    2798    2178    1980    5037v4
544     919     1740    2858    2295    1977    5084dev1020
514     928     1824    3000    2375    2037    5084
497     932     1754    2953    2799    2642    5138pi
561     903     1703    2964    2745    2653    maria.nostat
494     873     1624    2816    2565    2507    maria.stat

simple-allcols
  1         2           4           8           16         32
concurrent_sessions / binary
12240   20700   35397   53664   49865   47750   4030
12303   22284   48311   87580   81413   76310   5037
12176   22478   42227   59535   51491   39995   5037v2
12409   23952   48429   86180   80773   76895   5037v4
13799   24094   51521   93560   87728   85905   5084dev1020
12664   25330   53115   100289  91328   89076   5084
14797   24481   48254   92323   87722   86436   5138pi
13418   24980   49777   94425   88083   86854   maria.nostat
13062   23378   46636   83449   77714   77245   maria.stat

simple-handler
  1         2           4           8           16           32
concurrent_sessions / binary
13456   22782   39157     55087   51813   50260   4030
15432   29506   61464   122334  112374  104732  5037
15090   27910   52598    79034   70192   59490   5037v2
15529   29691   61225   116625  111384  103562  5037v4
15863   31121   69364   132998  124241  120279  5084dev1020
17233   32641   71906   132926  130436  125125  5084
16241   33986   63226   126277  122702  122002  5138pi
16035   32051   68157   129148  127899  125368  maria.nostat
18644   32239   63443   122932  116283  114760  maria.stat

-- 
Mark Callaghan
mdcallag@xxxxxxxxx



Follow ups

References