Loading...

Tag Archive for '%e7%9b%91%e6%8e%a7'

    AD: 猛买 | 快递查询 | Jobsdigg | 很棒的男装店

在Windows服务器上监控Rails应用的性能

Robbin写过一篇《监视Rails进程内存泄漏的技巧》,谈到了“如何监控rails进程的执行性能”。因为production.log文件已经记录了每一次请求执行的时间,所以通过一些命令的组合,把需要的数据提取、排序、输出到文件就可以了。但windows服务器上没有这些命令(如grep, awk等),怎么办呢?这篇文章能给出个解决办法,虽然稍显复杂。 要在windows上拥有linux的命令,Cygwin是一个办法,但我总觉得安装Cygwin太麻烦,于是我找了UnxUtils。下载后解压,然后在环境变量PATH中增加UnxUtils/usr/wbin目录。常用的linux命令已经被移植到windows了,包括但不限于wget, g(un)zip, tail, grep。 robbin在文章中提到的组合命令是这样的: grep “200 OK” production.log | awk ‘{print ”ALL: ” $3 ”  View: ” $8 ” DB: ” $12 ”  URL: ” $17 }‘ | sort -r | head -n 500 > timing.log 我们需要进行一些修改: 首先,UnxUtils没有提供awk,但有个替代品gawk。同时,在windows上的gawk不能用形如’{…}’这样的参数格式,而只能用”{…}”(两边只能用双引号),相应地,内部的语句如果使用了双引号,就需要进行转义、 其次,UnxUtils没有提供sort命令,不过Windows提供了。但这里要稍作修改,把sort -r 改为sort /r。 修改之后就可以使用了,命令改为: grep “200 OK” production.log | awk “{print \”ALL: \” $3 \”  View: \” $8 \” DB: \” $12 \”  URL: \” $17 }” | sort /r | head -n 500 > timing.log 如果想要更方便点,可以做一个批处理文件,在生成timing.log以后用记事本打开: grep “200 OK” production.log | awk “{print \”ALL: \” $3 \”  View: \” $8 \” DB: \” $12 \”  URL: \” $17 }” | sort /r | head -n 500 > timing.log notepad [...]