# Twitter HOLD 住大选：少点 Ruby，多些 Java

- 作者：刘文慧
- 发布时间：2012-11-09 11:17
- 原文：https://www.ifanr.com/news/192396

[![](https://s3.ifanr.com/wp-content/uploads/2012/11/Election-Day.jpg "Election-Day")](http://www.ifanr.com/news/192396/election-day)

在选举日当天，Twitter 服务器每分钟处理的推特数目为—— 327452 条！

当天，人们在 Twitter 上发布了 3100 万条跟选举相关的推特，而 Twitter 访问量阶段性飙升，一度达到每秒 15107 条推特。Twitter 是如何承受住前所未有的连续高访问量呢？

据 [Arstechnica](http://arstechnica.com/information-technology/2012/11/how-did-twitter-handle-election-tweets-less-ruby-more-java/) 报道，Twitter 基础架构副总裁 Mazen Rawashdeh 在[博客](http://engineering.twitter.com/2012/11/bolstering-our-infrastructure.html)上指出，这是因为公司技术团队在网站基础架构上做了一系列改进，包括逐步脱离 Ruby ，转向在服务器端 Java 虚拟机上运行由 Ruby、Java 和 Scala 结合的代码，同时调整 Ruby 的 runtime，以获得更好性能。

Rawashdeh 说：“作为迁离 Ruby 的一部分，我们重新配置了服务器，从移动客户端的访问将通过 Java 虚拟机堆栈，避免与 Ruby 堆栈同时进行。”

自 2009 年后，Twitter 使用被称为“Ruby Enterprise Edition” 的 Ruby 修改版本。但是 Ruby 的解释器使 Twitter 的服务器处理负荷过重，特别是它的“垃圾回收器（garbage collection）”。Twitter 团队一度对其进行优化，保证更好的运行性能，并开发自己的垃圾回收“Kiji”。但现在公司也开始将开发努力转向 Java。
