MySQL Libevent Support

Well THIS is pretty sweet. MySQL gets libevent support. Of course it’s going to be about 20 years before I even think about upgrading to MySQL 6.0…

So what does this do? MySQL uses a 1:1 ratio for connections and threads. Libevent allows us to pull threads into pools and use them for connections. This is pretty awesome for 8way machines since partially solves thread contention issues. Below is an example of MyISAM doing large number of inserts with the number of users doing
inserts increasing (1-300 users). The graph shows the time taken for each test run. Similar numbers show up when you run benchmarks with Innodb (leave concurrent set to zero as you should normally do, this will allow libevent to more effectively control the thread usage). The green line shows the test running with 20 threads, while the blue is unlimited. I do not have good rules of thumb yet for thread number vs processors. The machine I used for this test is an 8way that I have on loan from Intel. I will work out a similar test for Solaris once I can get the code to compile there.

  1. brianaker


    This is personally in my “need this soon” book. I’ve been going over the code and have logged one bug so far against it.

    6.0 is about backup and falcon (and some improvements to the optimizer). It will probably have my IPV6 work as well in it.

    I believe if you pass on the first two features mentioned for the moment, I believe it will turn out to track 5.1 as far as how stable it is.


  2. The drivers on the clients still need to be updated. It would be nice to have an async IO mysql client.

%d bloggers like this: