memcachedb是一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了Berkeley DB的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是不需要严格事务约束,能够被持久化保存的应用场景,例如memcachedb被应用在新浪博客上面。 memcachedb给memcached添加了一些数据库才具备的特性,但是我们还不能说memcachedb已经是一个数据库了,这是因为memcached不支持内存对象的遍历操作,当然更加不能支持复杂的查询操作,只能支持根据已知的key ...
JavaEye网站从2006年9月11日上线基于RoR的2.0版本开始,到现在已经运行了将近一年半了。在这一年半的时间里,JavaEye网站的每日PV从最开始的5万,缓慢增长到了现在的60万。随着网站负载的不断增加,我们也在不断尝试和调整网站的性能,积累了不少第一手RoR应用性能优化的实战经验。虽然我们并不是RoR性能优化的权威专家,我们所积累的经验也许并不是最优实践,但是作为国内最早涉足RoR商业运营的互联网网站之一,我们非常乐意分享和交流我们的实战经验,以帮助后来者节省必要的摸索时间。 RoR惊人的开发速度恐怕是每个互联网创业者都梦寐以求的,但是随着网站流量的不断增大,可能大多数采用Ro ...
http://www.dbanotes.net/arch/douban_web_server.html 在老冯同学的博客上看到的文章。里面介绍说豆瓣网站的情况如下: 一台Web服务器运行Lighttpd,每天处理2500万个request,峰值每秒处理1000个request; 一台应用服务器运行Python,每天处理500万PV; 数据库服务器运行MySQL,负载情况没有介绍。 我对比了一下JavaEye网站的服务器运行情况,我们是一台Web+应用服务器,一台数据库服务器,如下: Web服务器运行Lighttpd,每天处理430万个request,峰值每秒处理150个request, ...
2008-01-14

RoR部署方案深度剖析

关键字: deployment
RoR的部署方案可谓五花八门,有Apache/Fastcgi方式的,有Nginx/Mongrel方式的,还有lighttpd/Fastcgi方式,也有人使用HAProxy/Mongrel,各种部署方式都是众说纷纭,让人搞不清楚哪种方式更好一些。我的这篇文章就是希望结合我们运营JavaEye网站一年多以来的经验(通过统计Rails的production.log,JavaEye网站目前每天处理超过70万200 OK状态的Ruby动态请求,应该是国内目前负载量最大的RoR应用了),为大家剖析RoR部署方案的优劣,帮助大家选择适合自己生产环境的RoR部署方式。 在讨论部署方案之前,先让我们看一下Ro ...
传统的Web服务器在处理文件下载的时候,总是先读入文件内容到应用程序内存,然后再把内存当中的内容发送给客户端浏览器。这种方式在应付当今大负载网站,音频视频网站力不从心。sendfile是现代操作系统支持的一种高性能网络IO方式,操作系统内核的sendfile调用可以将文件内容直接推送到网卡的buffer当中,从而避免了Web服务器读写文件的开销,实现了“零拷贝”模式。 作为最流行的轻量级Web服务器的翘楚,lighttpd提供了良好的sendfile支持,JavaEye网站服务器使用的就是lighttpd。在Linux操作系统上面,只需要在lighttpd.conf配置文件如下配置,ligh ...
在08年元旦新版本上线以后,我们一直忙着修改bug,调整功能和UI,这个版本真正要达到令用户满意的程度,估计要到春节的时候了。 新版本的性能还不错,目前网站访问量也一直在缓慢上升。查看了一下昨天的访问日志,Ruby处理的200 OK的动态请求有71万多,排除5万的RSS订阅请求,和一些搜索引擎的请求,估计昨天真实的用户访问量也应该差不多达到了60万PV了,当然这还没有计算有可能被缓存掉的静态页面。整个网站有95%以上的动态请求处理时间都在0.5秒以下,还不错,挺满意的。 另外统计下来数据库平均每秒发送SQL为103条,这比JavaEye2.0平均140条下降了不少,也证明我们目前代码的缓存 ...
孟岩最近写了一篇博客: Ruby 1.9不会杀死Python 这篇文章很有点标题党的意思,所以在JavaEye论坛很快被水掉了,只好锁贴: http://www.javaeye.com/topic/153651 但我个人对于孟岩的观点是不敢苟同的。首先我并不同意所谓魔幻语言和简约语言的分类。其实Martin Flower论述过这个问题,他是用“人性化接口”和“最小接口”来区分编程语言的风格化差异的,请看这篇文章: http://martinfowler.com/bliki/HumaneInterface.html 其实不用我多说,Martin论述的挺充分了。强把Ruby和C++归 ...
robbin
搜索本博客
我的相册
6e58ccc9-644b-3231-a57d-475cdfd9951e-thumb
iphone2.jpg
共 39 张
存档
最新评论