January 9th, 2007 by
savage
railsbench是用ruby和shell脚本写的测试Rails程序性能的工具,可以给出Rails的请求处理过程的性能分析。适合开发时期的性能分析。现在已经能从gem安装了,railsbench gem version available
Rails Analyzer是一系列分析Rails log的工具,适合已经上线的Rails应用分析实际场景下的性能瓶颈
发生网到目前为止并没有Rails性能上的问题,之所以持续的关心性能,是因为一方面性能影响到提供服务的稳定性和相应成本,另一方面,性能研究本身是一个长期的积累过程。
update: 不依赖于syslog的方法,http://nubyonrails.com/articles/2007/01/03/a-hodel-3000-compliant-logger-for-the-rest-of-us
Posted in RoR技术 | No Comments »
September 15th, 2006 by
savage
在Ruby on Rails的世界里,性能永远是一个讨论的焦点。今天看到Joel的一篇”Ruby Performance Revisited“的文章,正好也结合我们的一些实际经验谈一点关于RoR的性能。
有两点是大家公认的:
1) Ruby确实很慢:有人说它比Java慢10倍,在”Computer Language Shootout Benchmarks“里面差距更是明显。
2) Rails的框架使得开发效率很高:据说能比Java快10倍(这个我保留,不过我们从学习开始到网站第一个版本上线的时间确实证实了RoR的开发效率)
那么这两点对于网站开发的影响到底有多大呢?
1) Ruby的性能问题确实限制了它的应用,但是网站的大部分功能不需要大量CPU运算,Joel列举了几个耗费CPU的操作,所得到的结果基本上是性能不可接受。但是从类似发生网的网站性能来看,页面cache机制是提高性能的首要环节,Rails提供了灵活方便的cache管理,程序员可以通过良好的设计使动态页面生成的操作大大减少。而动态页面生成也主要是数据库和IO操作,这个过程中,RoR更像是一个粘合剂,轻松地把各个部分串联起来,而本身不需要太多的复杂运算。对于大量依赖CPU的操作,可行的方案是单独用其他语言优化,跟用汇编优化C++代码的关键部分是一样的。
2) Rails的开发效率对于网站开发非常有利。RoR能够淋漓尽致地发挥Agile的特点,通过快速原型,不断细化,随需应变的策略,适合网站开发快速Release的要求。发生网由两个人在业余时间开发,从最初的idea,学习RoR到初始版本的内测,只花了两个月。
在Joel的文章里面提到已经有基于Rails的网站支持每天百万个动态页面浏览了。希望发生网也能很快达到这个数量,给国内的RoR网站们更多的信心。
Posted in RoR技术 | 2 Comments »