Twitter 是用 RoR 开发的流量最大的站点. 应用了 Rinda,其 基于 DRb使用DRb (”Distributed Ruby”.), 该库可以通过 TCP/IP 从远程 Ruby 对象发送接收消息,
,还用到了erlang技术中著名的 ejabberd。
5月9日,其官方网站上登信息辟谣, Twitter没有计划放弃ruby on rails,早就开始使用了混合语言改进性能。
为什么这个谣言传得这么快,这么像真的?
许多人总是担心rails的性能问题,一旦网站稳定性出了问题,首先考虑是rails撑不住了。
真实的情况是这样的:
1)网站和传统java,delphi桌面或企业应用程序不同,大部分性能不是来自语言,而是来自应用设计。
2)目前twitter可以支持每秒11000个请求,性能已经够了。
这是什么概念?假设1000万个用户,每个用户平均每天发10个帖子,每秒也就1000个帖子。
如果1000万个用户,每人运行一个客户端来发贴,24小时内每15分钟发一贴,每秒为10000个帖子。
现在twitter的规模还不到1000万用户,更没有每天如此活跃的1000万用户和客户端。
3)系统宕机的原因是有些恶意的程序通过API发帖,在瞬间超过了11000个以上。
系统必须通过限制程序的短时间内发帖总量,避免恶意程序破坏。
谁在做这些事?SEOer,twitter排名靠前, PR高, 发帖有API接口,很容易快速建立反向链接,许多人都在做这些发帖。也有些好奇者用极端情况测试,比如24小时增加9000个朋友。
有效地控制一个合理上限,是应用设计的一个关键。
为了彻底灭掉SEOer的行为,twitter已经去掉了帖子中的链接。
对于极端用户,已经做了封闭帐号或删除处理。
还使用了一系列方式检测这些问题。
4)目前性能足够,所以twitter没有使用数据分区存储,还是Master-slave架构。
相信要提升空间,还有很大余地。比如将用户按照地区或名称计算hash值,分配到10个或更多的数据库服务器上。
twitter平台如下:
------------------------------------------------
Ruby on Rails
Erlang
MySQL
Mongrel
Munin
Nagios
Google Analytics
AWStats
Memcached
据说twitter目前的运行状态如下:
------------------------------------------------
每秒钟600请求
每秒钟平均200-300个连接,峰值为800个连接
MySQL每秒钟处理2,400个请求
180个Rails实例,使用Mongrel作为Web服务器
1个MySQL服务器(one big 8 core box)和1个slave用于只读的统计和报告
30+进程用于处理其余的工作
8台Sun X4100s
Rails在200毫秒内处理一个请求
花费在数据库里的平均时间是50-100毫秒
超过16GB的memcached
分享到:
相关推荐
在过去的几年中,《Ruby on Rails Tutorial》这本书被视为介绍使用 Rails 进行 Web 开发的先驱者。 在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
Ruby On Rails中文教材(PDF)
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
ruby on rails社区网站开发源码
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
Ruby on Rails Web开发学习实录 内容简介: 在目前的主流web开发技术中,基于ruby语言的rails框架是做网站开发速度最快的工具。它可以达到j2ee框架开发速度的5~10倍,并且代码量也非常少。另外由于代码量的大幅度...
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。本书使用 Rails 默认的开发工具栈开发了一个完整的社交应用(类似 Twitter)。读完本书后你将掌握如何使用...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby on Rails中文指南
本书也是唯一一本自始至终都是用测试驱动开发理念的 Rails 书籍,很多行家都推荐使用 TDD,但是在本书出版之前从没有被如此清楚的介绍过。书中的示例还用到了 Git、GitHub 和 Heroku,作者真的是让你体验了一把开发...
ruby on rails 教程源码,配合原书使用
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
ruby on rails api方便查阅
ruby on rails最新版 这是本人精心收集的重要软件
Ruby on Rails的性能调优方案研究,张淼森,杨杰,Ruby on Rails 框架自它提出之日起就受到广泛关注。由于Rails框架基于MVC(Model-View-Controller) 模型,可以清楚地将模型层的代码与控制层的应
该资源包包括在Linux安装Ruby on Rails所需的包,以及安装步骤文档
基于ruby on rails开发示例源码