MySQL 5.1.26-rc 放出來了:MySQL 5.1.26-rc has been released。這個版本會是 5.1 最後一個 RC (Release Candicate),下一個就會是 Production Ready (GA) 的版本了。
不過 Paul McCullagh (PBXT 的開發者) 寫了一篇「Mutex contention and other bottlenecks in MySQL」,裡面發現他已經把 PBXT 改到本身已經不是瓶頸,所以反過來開始看 MySQL 的問題...
裡面有很多很有趣的惡搞 (像是他覺得,如果在他的環境裡如果拿掉某些 POSIX mutex lock 不會遇到問題,他就先拔掉 lock 然後看效能可以提昇多少,如果不能拿掉,他就用自己改寫的 spinlock 或是其他方式替代),除此之外,文章裡還有一些數據可以看,可以看出他一步一步改善所走過的路,以及還有哪些地方值得改善。
最後改出來的成果相當輝煌,改到有 60% 的時間會因為在等網路另一邊的 query 進來。
在 comment 有人有提到可以用 --with-fast-mutexes
,會把 POSIX mutex lock 換成 spinlock,不知道效果怎麼樣... (我發現 FreeBSD Ports 裡的版本沒有支援這個選項,我送了個 PR,用 Ports 的人可以更方便的設定這個選項:ports/125616: Add --with-fast-mutexes to databases/mysql51-server)