使用NewRelic监控Rails应用
原文地址:http://www.blogkid.net/archives/2512.html
NewRelic是一家提供Rails性能监测服务的网站,我很早就注册了。好多好多上线以后,我本没打算用,但最终被NewRelic孜孜不倦地发送Sample Weekly Report的精神打动,试用了一下。
安装和配置很简单:只需要安装一个NewRelic插件,然后用NewRelic提供的配置文件替换掉默认文件(操作细节可参阅FAQ)。Rails应用启动后,就会自动向NewRelic发送数据。
而NewRelic提供了不同级别的监测功能,免费的是Lite版本,最高有Gold版本,价钱有点小贵。我开始使用Lite后,NewRelic赠送了一个Gold版试用的优惠码,得以体验一周的Gold版本。
在监控页面上方有两个菜单:
第一个用来选择监控的对象,如果不选就是当前Application的所有Instances。我在服务器后台开了5个thin进程,全部被NewRelic识别出来。
针对不同版本,提供了不同的监测功能。免费的Lite版只能有Overview和Controllers去看,Apdex其实会显示在Overview里面。
OverView页面的截图(点击有大图):
5张图表分别展示了响应时间、Apdex Score(应用性能指数)、CPU利用率、内存占用情况以及数据库的活动情况。这里只能得到一些总体的数据。因为好多好多流量不大,而且全站都采用了静态缓存,所以图表也没那么好看
。
由于可以试用Gold版本,所以也尝试了Gold版本的一些功能。比如有一个Controller Report。
从这里可以看出,好多好多最耗时的两个控制器是MiscController#go 和 IndexController#index 。前者是由于需要和淘宝的API进行交互,获得跳转地址;后者是因为要随机获取多个类别的热卖商品,还有优化的余地。可以想象,如果是一个提供更复杂功能的网站,这个Controller Report很容易帮开发者定位性能问题。实际上,这也是监测程序存在的最大价值。
NewRelic还有不少别的功能,可以从多个角度监测Rails应用,绝对值得一试;另一个值得称赞的是便捷的安装配置,几乎是“无痛”的。不过Gold版本的服务很贵,要$200每月,一看就不是给小网站们准备的。






高级货
Ruby Rails果然很强大。平时我只会折腾PHP,偶尔搞Python。还没有见过框架可以做到如此强大
@foremire
用合适的就够啦。ror在部署时候总还是有点麻烦,我也总是没能把我的passenger配置起来。