在top监视窗口显示Rails当前正在执行的请求URL
这是一个从PragDave的博客上面学来的技巧,很实用,很cool!
话说在一个运行着Rails的网站上面,我们可以用Linux的top命令来监控Rails应用程序实例的运行状况,占用的内存,消耗的CPU等等,例如JavaEye网站的某一刻的截图:
在这个截图里面,我们可以了解Rails进程实例的运行状况,但是我们无法确切的知道,某个当前时刻消耗CPU很高的fcgi进程究竟在执行哪个请求,如果能够确切的了解这个信息,对于寻找性能瓶颈有极大的帮助,所以下面看我们来变个魔术:
在你的Rails应用的app/controllers/application.rb里面增加两个filter,如下:
- before_filter :set_process_name_from_request
- after_filter :unset_process_name_from_request
- def set_process_name_from_request
- $0 = request.path[0,16]
- end
- def unset_process_name_from_request
- $0 = request.path[0,15] + "*"
- end




浙公网安备 33010602011771号