Twitter 开源其 MySQL 优化成果
- - 博客 - 伯乐在线据 Twitter 工程博客透露, Twitter 决定开源其使用的、经过优化的 MySQL 版本. Twitter 工程师 Jeremy Cole 和 Davi Arnaut 在博客中称:. MySQL 是 Twitter 大部分数据(如兴趣图谱、时间轴、用户数据和推文等)的主要存储技术. 由于我们的规模,我们比其他公司更能推动 MySQL 的发展.
据 Twitter 工程博客透露, Twitter 决定开源其使用的、经过优化的 MySQL 版本。
Twitter 工程师 Jeremy Cole 和 Davi Arnaut 在博客中称:
MySQL 是 Twitter 大部分数据(如兴趣图谱、时间轴、用户数据和推文等)的主要存储技术。由于我们的规模,我们比其他公司更能推动 MySQL 的发展。当然,MySQL 是开源软件,所以我们可以改进它,使之满足我们的需要。我们相信共享知识和开放源码有利于创新,我们已经决定在 BSD 许可协议下开源。
在该博客中,还列出了 Twitter 在 MySQL 上的主要改进工作,包括:
● 添加额外的状态变量,尤其是在 InnoDB 内部。这使我们能够更有效地监控我们的系统,以及更好地了解处理产品工作负载时的行为。
● 大型 NUMA 系统中的内存分配优化。在启动时充分分配 InnoDB 的缓冲池,甚至在服务器内存压力较高的情况下,确保服务器的性能。
● 通过改善服务器端的 Statement Timeout(声明超时),来减少不必要的工作。这允许服务器主动取消超时间隔大于 1ms 的查询。
● 使用安全、轻量级的方法导出和恢复 InnoDB 缓冲池。
● 针对 SSD 优化 MySQL,包括页面刷新(page-flushing)行为和减少磁盘写入,以提高磁盘寿命。
目前 Twitter 的 MySQL 源码托管在 Github 上,基于 BSD 许可协议。
源码地址: https://github.com/twitter/mysql