Ruby on rails Rails控制器导致应用程序挂起

Ruby on rails Rails控制器导致应用程序挂起,ruby-on-rails,networking,controller,Ruby On Rails,Networking,Controller,我使用的是Rails 4.2和Ruby 2.2.0。最近,我注意到我的应用程序在某个控制器被调用后会挂起很长一段时间。这是一个已经开发了好几年的应用程序,我以前从未见过这种挂起行为(不幸的是,我也不完全知道自从上次不挂起以来我做了什么改变) 我所说的“挂起”是指:不会加载任何页面(无法访问任何控制器,甚至基本上是静态页面的默认主页也不会加载)。我的所有日志都不会更新。未写入标准输出。该应用程序还有许多后台工作进程(由Resque管理),这些进程似乎也处于挂起状态。此行为将一次持续几分钟 为了缩小

我使用的是Rails 4.2和Ruby 2.2.0。最近,我注意到我的应用程序在某个控制器被调用后会挂起很长一段时间。这是一个已经开发了好几年的应用程序,我以前从未见过这种挂起行为(不幸的是,我也不完全知道自从上次不挂起以来我做了什么改变)

我所说的“挂起”是指:不会加载任何页面(无法访问任何控制器,甚至基本上是静态页面的默认主页也不会加载)。我的所有日志都不会更新。未写入标准输出。该应用程序还有许多后台工作进程(由Resque管理),这些进程似乎也处于挂起状态。此行为将一次持续几分钟

为了缩小罪魁祸首的范围,我从我的应用程序中删除了除一个控制器之外的所有东西。该控制器看起来像:

puts "Peforming"

respond_to do |format|

  format.xml {

    render :xml => "<Status>OK</Status>"

  }

end
放入“Peforming”
回应待办事项|格式|
format.xml{
呈现:xml=>“确定”
}
结束
它将接受来自客户端的任何帖子,并在打印消息后以“OK”回应。该应用程序托管在一台服务器上,我正在本地机器上以最快的速度发布一篇XML文章。点击不到一分钟,应用程序将完全挂起,如上所述

我也看过netstat,但并没有发现任何异常。在TIME_WAIT状态下有很多连接,但我知道这很好。我还查看了顶部,机器90%处于空闲状态,即使在悬挂时也是如此


最后,这是在Amazon EC2上运行的,以防相关。

看到控制器中的
放置
通常是出现问题的迹象。对于调试,请尝试:
Rails.logger.debug(“…”)
查看控制器中的
put
通常是出现问题的标志。对于调试,请尝试:
Rails.logger.debug(“…”)