如何配置服务器使流量提升百倍以上(2)

日期: 2008-05-15 来源:TechTarget中国

  消息:


  Twitter的角色归根结底,是一个信息桥梁。Twitter可以为Web、手机短信、和IM软件的信息提供一个互通的平台。其释放缓存的策略,是和Ruby的Send Message同步释放缓存,而不是单独的释放,这有助于提升Twitter在消息策略配置上的灵活性。网站也采用了DRb(Distributed Ruby,分布式Ruby),library允许通过TCP/IP,跟远端Ruby目标发送和接收Message。不过,这样的结构可能也不是很完美。工程师们也尝试Rinda,一个tuplespace模型的分享队列,但也有缺点,队列是持续的,如果实效,消息可能将丢失。工程师还尝试过使用Erlang语言。他们最后采用由Ruby写成的分布式消息队列Starling,分布式队列可以避免系统崩溃。很多大型网站都在使用这种简单的方法。手机短信则由第三方网关的API处理。


  一些部署策略:


  工程师们采用了新的mongrel服务器,不过这些mongrel的部署,是闪电式部署,因为缓慢的逐一部署可能会导致过多队列在现有的mongrel之中,进而堵塞mongrel。


  流量增大后,twitter遇到过许多次宕机,经过研究后表明,大多数宕机并非不是twitter自身的问题。宕机源自个别的用户非常疯狂,可以在24小时之内添加9000个好友,而这也是twitter始料未及的。所以后来twitter添加了用户监控,一旦发现哪个用户行为异常,该用户将被立即删除。


  Twitter未来改进方向是分区。但暂时还没有具体的分区时间表,因为Twitter的改进已经足够应对当前流量了。那么Twitter中哪部分最重要呢?显然是Twitter API。由于Twitter的特殊性,API的流量几乎是Twitter网站流量的10倍,结构和普通网站区别很大。所以,保持一个简单开放的基础架构,才可以使很多开发者加入其中,并且能有更好的主意来改进Twitter。


  Twitter.com网站目前的大体状况:


  ●网站有至少35万使用者,有的媒体估计高达500万,不过具体的数值还不得而知。


  ●Twitter.com平均每秒有600次请求,每秒有200-300个连接,最高时候是800个。


  ●MySQL每秒钟处理2400个请求。一共有一台主的MySQL服务器,采用8核心的Sparc芯片,还有一台附属服务器。附属服务器只处理简单的统计和报告。


  ●除了MySQL服务器之外,还有8台SUN服务器X4100。


  ●在Rails中处理一个要求的时间,在200毫秒内。其中花在数据库的平均时间为50-100毫秒。


  ●高性能分布式的内存对象缓存系统memcached占有了16GB空间。


  学习总结:


  Twitter.com经过一系列的部署,现在已经可以稳定的面对巨大的流量了。我们从中能够学到的东西有很多。


  首先,Twitter非常开放,它将自己遇到的问题全部在网络社区上讨论,很多IT相关的人员都给出了自己的解决方法,不少普通用户也给出了建议。这些都是免费的,也很大程度上促进了Twitter.com的进步。当然,诚如上文所说,有一些方法,是采取了他人建议而部署的,也不是特别理想,所以建议是要采纳的,但是还一定要有自己的思想和主线。


  Twitter以前宕机多是因为疯狂的用户举动,这一点很有趣。不仅是在互联网,在公司内部的IT中,也总有极个别用户会想尽办法来搞点鬼,要有方案预先对他们的行为做以限制。还有,最好要确保你的应用是容易分区的,这样你就有将来扩展系统的制高点。


  数据库一定要经常优化。尽可能的将内容都编进目录,Rails可不会自动为你做这些。另外,Twitter也非常强调测试的重要性,现在Twitter已经有了一整套完善的测试方法,来辨别哪些应用是值得部署的,哪些最好淘汰。我们也发现 Twitter对各种各样的方法都做过尝试,很多方法也不是很理想,但是勇于尝新的精神的确值得我们学习。


  Twitter.com在西方非常火爆,目前中国也有了数十家网站竞相模仿,但是相信只有架构完善、服务周全、切入点准确的模仿者才能够最终生存发展。而对于我们广大服务器使用者而言,Twitter的充分沟通,勇于尝试,开放,和许多部署细节,也都给我们上了生动的一课。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐