我在Elastic Beanstalk上部署了一个Rails 3应用程序,现在已经接近2年了。大多数情况下,我没有任何问题;然而,我最近升级到了其新的Ruby配置之一(运行Ruby 2.1(Passenger Standalone)的64位Amazon Linux 2014.09 v1.0.9),并且我一直在争论几天,其中一个更多的Ruby进程将消耗CPU - 到我的网站无响应的地步。我正在使用一个m3.medium实例,但后来我转移到了m3.large,它只花了我一些时间手动登录到EC2实例并杀死逃跑进程(es)。我会说这种情况每天发生一次或两次。Elastic Beanstalk Ruby进程消耗CPU
我必须移动到新的Ruby配置时,是有问题的唯一的事情,我必须添加以下到我的.ebextensions文件夹,以便引入nokogiri可以安装(W /包安装)......
commands:
build_nokogiri:
command: "bundle config build.nokogiri --use-system-libraries"
我不认为这会导致这些悬挂过程,但我可能是错的。我也不想排除一些与Elastic Beanstalk升级无关的东西,但是我不能解决导致此问题的任何其他重大更改。我意识到这不是一个很大的信息,但有没有人遇到类似的东西?任何人都有将这些流程追溯到根源的建议吗?
在此先感谢!
感谢您的反馈,Tal。今天早上我发现了这篇文章 - http://blog.newrelic.com/2013/04/29/debugging-stuck-ruby-processes-what-to-do-before-you-kill-9/。下一次我SSH进来,看到挂起的过程(ES),我会给gdb一试。 – ajporterfield 2014-12-08 14:40:03