调试RAILS程序的经验 ( experience of debugging rails)
访问量: 3370
1. 看日志。
1.1 日志的格式很重要,务必要有时间戳。有exception traceback, 有 Completed 时间
1.2 rails log跟 stdout put 有时候会分别写到两个不同的文件当中。 如果rails log 没有信息,那么就要看 stdoutput 的信息(如果你用的是thin服务器的话,就要看 thin.yml 中的配置了) 我们的经验是: libv8引起的错误,会直接打到 stdoutput 中。
1.3 看nginx 日志。 当并发访问量特别大的时候(1000 req/s ) 这个时候看rails 日志是不报错的, 但是速度很慢。 nginx access日志就能看到些端倪。
1.4 看top. 如果发现在 并发访问量特别大的时候, rails 进程的CPU 占用率特别高,就要小心了。赶紧静态化,或者使用缓存~
1.5 使用grep, 例如: $ grep 'FATAL' <your_rails_log>. 就会看到所有出错的地方。
2. 发现问题根源找到了,需要重启RAILS。否则很多僵死的进程会一直占用资源。