今天,无缘无故,我的导轨(2.1.0)应用程序非常缓慢甚至没有响应。 它间歇性地发生。 所以有时它可以工作,但它又不起作用。导航控制台不加载
当它不起作用时,我甚至无法加载'script/console production'。 我想知道它卡在哪里。 如何逐步加载控制台,以便我可以知道哪个部分导致问题?
谢谢。
山姆
今天,无缘无故,我的导轨(2.1.0)应用程序非常缓慢甚至没有响应。 它间歇性地发生。 所以有时它可以工作,但它又不起作用。导航控制台不加载
当它不起作用时,我甚至无法加载'script/console production'。 我想知道它卡在哪里。 如何逐步加载控制台,以便我可以知道哪个部分导致问题?
谢谢。
山姆
您的服务器上可能没有足够的内存,因此机器无法响应您的请求。如果您正在运行杂种狗,那么请注意它以限制它可以使用的内存并在必要时重新启动。
如果您使用的是Passenger,请尝试限制实例的数量,并且如果您已经完成了查找脚本,该脚本在cron作业中过大时会杀死乘客实例。
如果这不是内存问题,那么我可能需要更多的信息。
当一切都失败了,你应该能够使用strace的调试的脚本/应用程序实际做的事情。请注意,这应该只是最后一个度假胜地之一,因为它会产生非常详细的信息(并且大多限于I/O操作)。
尝试使用“strace的脚本/控制台生产”例如
如果你有能力,尝试暂时删除所有的插件/宝石,看看应用程序将启动。其中之一可能是这个问题。
script/console
文件包含这一项。
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/console'
您可以在Rails 2.1中找到commands/console file here。
我推荐加载irb并尝试从那里加载你的应用程序。
require 'config/boot'
如果这样的作品,然后尝试通过提到commands/console script其余步进找出哪些部分是问题。
如果启动文件无法加载,请查看config/boot.rb
文件,看看您是否可以确定哪个部分无法工作。祝你好运!
是的。事实证明,有人正在运行一个平均脚本,占用了大部分服务器的资源。 – 2009-08-05 15:47:20