Hi Sergei, MySQL has the following optimization: WL#5772 - Add partitioned Table Definition Cache to avoid using LOCK_open and its derivatives in DML queries. We didn't agree with it and implemented it differently: MDEV-4702 - Reduce usage of LOCK_open. It was a major rewrite of table cache which improved things considerably, but we didn't reach MySQL numbers yet. We need to do a few extra minor things to get closer to MySQL numbers, MDEV-4956 - Reduce usage of LOCK_open: TABLE_SHARE::tdc.used_tables is among of them (patch is ready). Regards, Sergey On Thu, Nov 21, 2013 at 10:01:35PM +0400, Sergei Petrunia wrote:
On Thu, Nov 21, 2013 at 06:32:45PM +0100, Axel Schwenke wrote:
I have run another sysbench with in-memory workload to check where we are with respect to mutex contention.
Great to see the results!
The benchmark is sysbench OLTP (using the bzr trunk of sysbench with LUA support). 10 mio rows in a single table (about 2.5G .ibd file). InnoDB buffer pool set to 32G and warmed up.
I have run the test on two different machines. First on our old trusty facebook2 machine with 8 cores/16 threads in two NUMA zones. Second on the fat lizard2 machine with 32 cores/64 threads in 4 NUMA zones.
As expected, the heavy contention of the LOCK_open mutex is more visible on the bigger machine (I have not done any detailed analysis in this benchmark, but before while doing benchmarks for MDEV-5081)
I notice a visible performance gain in MariaDB-10.0 over MariaDB-5.5 at 32 threads. This is probably due to the work on the InnoDB kernel mutex (impossible to prove since 5.5 doesn't have mutex instrumentation). At higher concurrency however the LOCK_open mutex kicks in and performance is clearly dominated by that mutex alone (it flattens out for all 5.5 and 10.0 versions of MariaDB)
MySQL 5.6 clearly outperforms MariaDB on 32 cores. Do we know - Is this because 5.6 has some optimization to LOCK_open (can anybody point at a patch or WL number?) , and that optimization hasn't been ported to 10.0?
The good news is, that 10.0.4, 10.0.5 and 10.0.6 are quite close. There is a small regression from 10.0.4 to 10.0.5, but IMHO this isn't worth investigation while the LOCK_open issue is not fixed.
Attached: diagrams. OpenOffice spreadsheets.
Thanks a lot for doing this!
BR Sergei -- Sergei Petrunia, Software Developer MariaDB | Skype: sergefp | Blog: http://s.petrunia.net/blog
_______________________________________________ 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