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)
| Threads | Standard InnoDB | Google smpfix | Yasufumi rw_lock |
| 1 | 9700.28 | 10601.96 | 9432.44 |
| 2 | 14355.66 | 16673.31 | 12783.58 |
| 4 | 16104.20 | 2669.39 | 6308.92 |
| 8 | 18507.55 | 780.22 | 1854.43 |
| 16 | 16178.09 | 842.73 | 1601.05 |
| 32 | 12337.50 | 2028.89 | 3274.13 |
| 64 | 7801.18 | 1911.94 | 4043.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:
| Threads | Standard InnoDB | Yasufumi rw_lock ver 2 |
| 1 | 9700.28 | 9812.18 |
| 2 | 14355.66 | 14602.46 |
| 4 | 16104.20 | 18726.22 |
| 8 | 18507.55 | 19099.80 |
| 16 | 16178.09 | 17470.22 |
| 32 | 12337.50 | 12407.24 |
| 64 | 7801.18 | 7669.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
Resources
RELATED POSTS