`
ShiningRay
  • 浏览: 19635 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

浅析Ruby on Rails部署方案

阅读更多

2006初,我接到了公司分配的一个遗留项目,让我负责一个基于C/S的系统的服务器端。其实是系统是基于HTTP协议的,因为负责客户端的同事对 于服务器端编程不甚了解,虽然使用PHP对熟悉C++的他来说是驾轻就熟,但是在进一步实现更多的功能和更高的性能上就捉襟见肘了。项目是在非常突然的情 况下交给我的,因为该同事在客户端上有更多的事情要做。我在分析了他的数据库结构和PHP源代码之后,决定按照与客户端的通讯协议重写他的服务器端。为了 能应付老板苛刻的时间限制,我打算使用正在学习的Ruby on Rails。后来,项目在功能上非常顺利地交付了。

两年过去了,随着客户端数量的不断增加、客户端功能的增加、与服务器端交互数据的增加、老板对功能的要求不断增加,我在这个项目上走了不少弯路,尤其是在部署——或者说是架构——方面。

我遇到的最大的问题就在于并发链接数上。服务器与客户端的每次交互的数据量并不大,但内容无法缓存。起初用的是 Nginx/Apache+Mongrel 的部署方式,但当遇到大量并发请求时,常常会遇到Mongrel进程死掉的情况。而客户端的用户在无法登录客户端的时候,经常会反复尝试,加重了服务器的 负担、导致最后所有的Mongrel进程都挂掉。

最后,经过不懈努力,在现有的3台低端服务器上,可以满足每天500万次的请求。在这里,我将我的一些心得和研究成果总结出来,与大家分享。


文档地址:https://docs.google.com/View?docid=ddcvzh74_28f9xppqfh

文章发布在Google Docs上,欢迎大家在其上做批注,有意见和建议也可以在此留言。文章按照知识共享“署名 3.0 中国大陆”许可协议 发布,欢迎转载。

18
6
分享到:
评论
5 楼 cuilji 2008-07-10  
文章太好了,非常详实,非常实用。
非常感谢!
4 楼 xiuxiuxiu 2008-07-09  
太赞了.....
3 楼 lgn21st 2008-07-09  
好文...特别是对每个web服务器各种运行模式的配置...极具参考价值!
2 楼 andyao 2008-07-08  
确实是非常好的文章,
年初robbin写过一篇类似的ror部署的文章
http://robbin.iteye.com/blog/155542
1 楼 robbin 2008-07-08  
http://www.iteye.com/topic/212684

没什么说的,强烈推荐的好文章。

相关推荐

Global site tag (gtag.js) - Google Analytics