Planet MySQL - http://www.planetmysql.org/
The InnoDB Mutex, part 3
I repeated tests from part 1 and part 2 using a system that has an older/smaller CPU but more recent versions of glibc & Linux. In this case the CPU has dual sockets with 6 cores per socket and 24 vCPUs with HT enabled. The host uses Fedora, glibc 2.17 and Linux kernel 3.11.9-200. Tests were run up to 512 threads. There was an odd segfault at 1024 threads with the TTASFutexMutex that I chose not to debug. And tests were run for 1, 4 and 12 mutexes rather than 1, 4 and 16 because of the reduced vCPU count. The lock hold duration was ~6000 nsecs rather than ~4000 because of the different CPU.My conclusions from this platform were less strong than from the previous tests.The InnoDB syncarray mutex still has lousy behavior at high concurrency but it is less obvious here because I did not run a test for 1024 threads.pthread default is usually better than pthread adaptive, but in at least one case pthread adaptive was much betterThe new custom InnoDB mutex, TTASFutexMutex, was occasionally much worse than the alternatives. From looking at code in 5.7, it looks like the choice to use it is a compile time decision. If only to figure out the performance problems this choice should be a my.cnf option and it isn't clear to me that TTASFutexMutex is ready for prime time.Graphs for 0 nsec lock holdGraphs for 1000 nsec lock holdGraphs for 6000 nsec lock hold
ConFoo is looking for speakers
ConFoo is currently looking for web professionals with deep understanding of PHP, Java, Ruby, Python, DotNet, HTML5, Databases, Cloud Computing, Security and Mobile development to share their skills and experience at the next ConFoo. Submit your proposals between August 25th and September 22nd.
ConFoo is a conference for developers that has built a reputation as a prime destination for exploring new technologies, diving deeper into familiar topics, and experiencing the best of community and culture.
ConFoo 2015 will be hosted on February 18-20 in Montreal, at the Hilton Bonaventure Hotel.
We take good care of our speakers by covering most expenses including travel, accommodation, lunch, full conference ticket, etc.
Presentations are 35min + 10min for questions, and may be delivered in English or French.
ConFoo is an open environment where everyone is welcome to submit. We are simply looking for quality proposals by skilled and friendly people.
If you would simply prefer to attend the conference, we have a $290 discount until October 13th.
HowTo Video: Using MySQL ASP.NET MVC Project Wizard
MySQL for Visual Studio 1.2.x recently became a GA version. One of the main features included in this version was the new MySQL ASP.NET MVC Wizard. This wizard allows the creation of a new ASP.NET MVC application using a MySQL existing database and a data entity model with Entity Framework 5 or 6 version. In this video you will see this feature in action and will show you how to generate a complete MVC application that includes authentication, registration and browsable pages for each table in your MySQL database without any code needed.
The InnoDB Mutex, part 2
I updated the innotsim client to include a new custom mutex from InnoDB in MySQL 5.7. This is called TTASFutexMutex in the source. I also fixed a bug in innotsim - the benchmark timer was started too soon so these results are more accurate than the original post.The original post has much more detail on the tests. In the graphs below, TTASFutexMutex has the label inno futex and the old-style custom mutex that uses a sync array has the label inno syncarray. My updated conclusions are:TTASFutexMutex is worse than pthread default when the lock hold duration is short but gets better as the lock hold duration is increased. I wonder if this conclusion will hold across Linux releases.The InnoDB mutex that uses a sync array continues to show its dark side with high concurrency but is pretty good with lower concurrency.I am not sure that pthread adaptive should be used at all. It is frequently worse, occasionally much worse and in the base case not much better than pthread default. But I am using glibc 2.12 which was released in 2010. I don't know yet whether my conclusions hold for a recent glibc release. Alas, this appears to be widely used by both InnoDB and non-InnoDB code in mysqld (grep for MY_MUTEX_INIT_FAST). I think more benchmark results are required to figure this out. It might help to have an option in my.cnf to prevent it from being used.Graphs for 0 nsec lock holdGraphs for 1000 nsec lock hold Graphs for 4000 nsec lock hold
Second MySQL User Group Korea meeting
We are pleased to announce the second MySQL User Group meeting in Seoul, South Korea.
This time Daesang Information & Technology sponsors venue and snack. Please find more information below.
Date & Time: 29th Aug, 2014, 7pm to 9 pm
Venue: TOZ Kangnam tower, 2nd floor
1. MySQL Fabric intro
2. MySQL Cluster intro & demo
3. Select MUG Staff
See more details
We are looking forward to talking to you!