Twitter開(kāi)源其MySQL優(yōu)化成果
作者:wangguo
據(jù)Twitter工程博客透露,Twier決定開(kāi)源其使用的、經(jīng)過(guò)優(yōu)化的MySQL版本。在該博客中,還列出了Twitter在MySQL上的主要改進(jìn)工作,詳細(xì)請(qǐng)以下內(nèi)容。
據(jù)Twitter工程博客透露,Twitter決定開(kāi)源其使用的、經(jīng)過(guò)優(yōu)化的MySQL版本。
Twitter工程師Jeremy Cole和Davi Arnaut在博客中稱(chēng):
引用
MySQL是Twitter大部分?jǐn)?shù)據(jù)(如興趣圖譜、時(shí)間軸、用戶(hù)數(shù)據(jù)和推文等)的主要存儲(chǔ)技術(shù)。由于我們的規(guī)模,我們比其他公司更能推動(dòng)MySQL的發(fā)展。當(dāng)然,MySQL是開(kāi)源軟件,所以我們可以改進(jìn)它,使之滿(mǎn)足我們的需要。我們相信共享知識(shí)和開(kāi)放源碼有利于創(chuàng)新,我們已經(jīng)決定在BSD許可協(xié)議下開(kāi)源。 |
在該博客中,還列出了Twitter在MySQL上的主要改進(jìn)工作,包括:
- 添加額外的狀態(tài)變量,尤其是在InnoDB內(nèi)部。這使我們能夠更有效地監(jiān)控我們的系統(tǒng),以及更好地了解處理產(chǎn)品工作負(fù)載時(shí)的行為。
- 大型NUMA系統(tǒng)中的內(nèi)存分配優(yōu)化。在啟動(dòng)時(shí)充分分配InnoDB的緩沖池,甚至在服務(wù)器內(nèi)存壓力較高的情況下,確保服務(wù)器的性能。
- 通過(guò)改善服務(wù)器端的Statement Timeout(聲明超時(shí)),來(lái)減少不必要的工作。這允許服務(wù)器主動(dòng)取消超時(shí)間隔大于1ms的查詢(xún)。
- 使用安全、輕量級(jí)的方法導(dǎo)出和恢復(fù)InnoDB緩沖池。
- 針對(duì)SSD優(yōu)化MySQL,包括頁(yè)面刷新(page-flushing)行為和減少磁盤(pán)寫(xiě)入,以提高磁盤(pán)壽命。
目前Twitter的MySQL源碼托管在Github上,基于BSD許可協(xié)議。
源碼地址:https://github.com/twitter/mysql
原文鏈接:http://www.iteye.com/news/24801
【編輯推薦】
責(zé)任編輯:林師授
來(lái)源:
ITEYE