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.