Twitter 開源其 MySQL 優化成果

發表於2012-04-10

來源:iteye

據 Twitter 工程部落格透露,Twitter 決定開源其使用的、經過優化的 MySQL 版本。

Twitter 工程師 Jeremy Cole 和 Davi Arnaut 在部落格中稱:

MySQL 是 Twitter 大部分資料(如興趣圖譜、時間軸、使用者資料和推文等)的主要儲存技術。由於我們的規模,我們比其他公司更能推動 MySQL 的發展。當然,MySQL 是開源軟體,所以我們可以改進它,使之滿足我們的需要。我們相信共享知識和開放原始碼有利於創新,我們已經決定在 BSD 許可協議下開源。

Twitter 開源其 MySQL 優化成果

在該部落格中,還列出了Twitter 在 MySQL 上的主要改進工作,包括:

● 新增額外的狀態變數,尤其是在 InnoDB 內部。這使我們能夠更有效地監控我們的系統,以及更好地瞭解處理產品工作負載時的行為。

● 大型 NUMA 系統中的記憶體分配優化。在啟動時充分分配 InnoDB 的緩衝池,甚至在伺服器記憶體壓力較高的情況下,確保伺服器的效能。

● 通過改善伺服器端的 Statement Timeout(宣告超時),來減少不必要的工作。這允許伺服器主動取消超時間隔大於 1ms 的查詢。

● 使用安全、輕量級的方法匯出和恢復 InnoDB 緩衝池。

● 針對 SSD 優化 MySQL,包括頁面重新整理(page-flushing)行為和減少磁碟寫入,以提高磁碟壽命。

目前 Twitter 的 MySQL 原始碼託管在 Github 上,基於 BSD 許可協議。

原始碼地址:https://github.com/twitter/mysql

相關文章