[Maria-developers] Benchmark of connect performance
![](https://secure.gravatar.com/avatar/a8a0c6c823cc908ccd338c8c8b3359a7.jpg?s=120&d=mm&r=g)
Hi, in the light of http://yoshinorimatsunobu.blogspot.fi/2012/12/non-persistent-connection-perf... I did a similar benchmark. I used sysbench-0.4.12 for this with this command line $SYSBENCH --test=oltp --oltp-table-size=1000 --oltp-dist-type=uniform --num-threads=$thread --oltp-read-only=on --oltp-test-mode=simple --oltp-skip-trx --oltp-reconnect-mode=query --oltp-connect-delay=0 --db-ps-mode=disable --mysql-table-engine=InnoDB --mysql-engine-trx=no --mysql-socket=$SOCKET --max-time=60 --max-requests=0 --mysql-user=sysbench --mysql-password=sysbench --percentile=95 run This generates a workload of connect select .. where pk=const disconnect I varied the following: - number of concurrent threads - malloc library: glibc vs. tcmalloc - privileges given to sysbench@localhost * none (--skip-grant-tables) * global = ALL on *.* * db = ALL on sbtest.* * table = ALL on sbtest.sbtest I used the new 64 core machine for this. Everything was compiled locally with the REL_WITH_DEBINFO options. There is a rather huge dependence on the memory allocator. The results don't match Yoshis otherwise. See yourself. XL
![](https://secure.gravatar.com/avatar/a8a0c6c823cc908ccd338c8c8b3359a7.jpg?s=120&d=mm&r=g)
Axel Schwenke wrote:
I did a similar benchmark.
I have pushed the scripts and raw results to the mariadb-benchmarks repo. There are results for different engines. mariadb-benchmarks/sysbench-runs/series22 = MyISAM mariadb-benchmarks/sysbench-runs/series23 = InnoDB (my previous mail) mariadb-benchmarks/sysbench-runs/series24 = HEAP XL
![](https://secure.gravatar.com/avatar/d1fa154903ca7ed342c36888aab05236.jpg?s=120&d=mm&r=g)
This is great content for a blog post On Tue, Mar 19, 2013 at 7:51 AM, Axel Schwenke <axel@askmonty.org> wrote:
Axel Schwenke wrote:
I did a similar benchmark.
I have pushed the scripts and raw results to the mariadb-benchmarks repo. There are results for different engines.
mariadb-benchmarks/sysbench-runs/series22 = MyISAM mariadb-benchmarks/sysbench-runs/series23 = InnoDB (my previous mail) mariadb-benchmarks/sysbench-runs/series24 = HEAP
XL
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
-- Mark Callaghan mdcallag@gmail.com
![](https://secure.gravatar.com/avatar/6b1cecb6596aaa9fe497d5bd2bb2f5c1.jpg?s=120&d=mm&r=g)
-----Original Message----- From: maria-developers- bounces+wlad=montyprogram.com@lists.launchpad.net [mailto:maria- developers-bounces+wlad=montyprogram.com@lists.launchpad.net] On Behalf Of Axel Schwenke Sent: Dienstag, 19. März 2013 15:45 To: Michael Widenius; maria-developers@lists.launchpad.net Subject: [Maria-developers] Benchmark of connect performance
Hi,
in the light of http://yoshinorimatsunobu.blogspot.fi/2012/12/non-persistent-connection- performance.html <skip> The results don't match Yoshis otherwise. See yourself.
Historical remark on this, the patch for MDEV-3945, http://lists.askmonty.org/pipermail/commits/2012-December/003976.html ) was something that I did to reduce contention of the LOCK_thread_count in this benchmark. This patch was inspired by the said Yoshi's blog entry - he names holding lock during THD destructor (including freeing memory) as one of contention sources, and this was easy to fix. This patch made into 5.5.29 and I think could make big difference to prior versions (70%, or something in that range, I do not recall exact number I measured) - it could be interesting to compare to older version and see how much did it bring.
![](https://secure.gravatar.com/avatar/a8a0c6c823cc908ccd338c8c8b3359a7.jpg?s=120&d=mm&r=g)
Vladislav Vaintroub wrote:
Historical remark on this, the patch for MDEV-3945, This patch was inspired by the said Yoshi's blog entry - he names holding lock during THD destructor (including freeing memory) as one of contention sources, and this was easy to fix. This patch made into 5.5.29 and I think could make big difference to prior versions (70%, or something in that range, I do not recall exact number I measured)
I do have numbers :) I've just rerun the same test with MariaDB-5.5.25 (what Yoshi used) and indeed the 5.5.29 numbers are much better. XL
![](https://secure.gravatar.com/avatar/a8a0c6c823cc908ccd338c8c8b3359a7.jpg?s=120&d=mm&r=g)
Axel Schwenke wrote:
http://yoshinorimatsunobu.blogspot.fi/2012/12/non-persistent-connection-perf... My results don't match Yoshis otherwise. See yourself.
OK, I found what makes the difference between Yoshis results and mine. It's the performance schema. It defaults to being enabled in 5.6.10 and has a rather huge impact. The attached graph shows how different privilege types and enabling/disabling performance schema affect the connect performance of MySQL-5.6.10. The workload is connect, point-select, disconnect. Single InnoDB table with just 1000 rows. Mysqld using tcmalloc. I'm collecting more data and will publish this on the MariaDB blog by the end of the week. XL
![](https://secure.gravatar.com/avatar/a8a0c6c823cc908ccd338c8c8b3359a7.jpg?s=120&d=mm&r=g)
Hi, here comes another followup. After having seen huge impact from performance schema and the memory allocator, I started another run with optimal settings and a reduced number of contestants. Montys working tree 10.0-monty was added, that contains the latest optimizations. The benchmark uses a heap table of 1000 rows, to avoid any side effects from transaction handling and table open/close operations. Now MariaDB-10.0-monty, MariaDB-5.5.29 and MySQL-5.6.10 perform very similar. MariaDB-10.0.1 falls a bit behind; it does not have the fixes that went in 5.5.29 (Wlad) or 10.0-monty (Monty) XL
participants (3)
-
Axel Schwenke
-
MARK CALLAGHAN
-
Vladislav Vaintroub