There is patch from Google to improve SMP performance , but for some workloads it showed for us reverse scalability.
E.g. update_key benchmark from sysbench. There are also results with Yasufumi’s rw_locks (http://bugs.mysql.com/bug.php?id=26442)

ThreadsStandard InnoDBGoogle smpfixYasufumi rw_lock
19700.2810601.969432.44
214355.6616673.3112783.58
416104.202669.396308.92
818507.55780.221854.43
1616178.09842.731601.05
3212337.502028.893274.13
647801.181911.944043.85

results are in tps, more are better

(result in tps, more is better)
The benchmark was made on 8cores box, and as you see for 4+ threads we have worse results than for 2 threads. That is was main reason why we did not include InnoDB smp fixes in our build yet.

Fortunately we get fixed version of Yasufumu’s rw_locks and you can download them there

The results for the same benchmark:

ThreadsStandard InnoDBYasufumi rw_lock ver 2
19700.289812.18
214355.6614602.46
416104.2018726.22
818507.5519099.80
1616178.0917470.22
3212337.5012407.24
647801.187669.73

And for other workloads new rw_locks show results comparable with Google’s smpfix, so we will include
innodb_rw_lock into our next -percona-highperf release

3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Davy Campano

Do you have any benchmarks from some of the other tests?

Peter

Many thanks to Yasufumi for his innodb_rw_lock patch. I was close to loosing my trust in FreeBSD before applying the patch. Running our 7G InnoDB database on MySql 5.0.67 on FreeBSD 7.0 on a 8core Box we had severe context-switching problems without the patch. After applying it it works like a charm. Close to no contentions left!