2

我正在尝试在 IBM Bluemix 上运行 Rails 应用程序并使用 Blitz.io 对其进行负载测试。当我在浏览器中访问该应用程序时,一切都很好。但是,当 Blitz 尝试访问它时,应用程序崩溃了。日志条目如下所示:

2014-12-20T16:26:45.55-0500 [RTR]     OUT **[my app name]**.mybluemix.net -     [20/12/2014:21:26:43+0000] "GET / HTTP/1.1" 200 12784 "-" "blitz.io; e970e720c4f22c94f7d822731652a745@130.160.6.54" 75.126.70.42:54311 x_forwarded_for:"-" vcap_request_id:ba32f5d0-e157-4229-61f5-13eb7ab3d2d0 response_time:2.182336949 app_id:1e6ad01b-c7b4-4f57-8d9d-8d333807bb15

2014-12-20T16:26:46.60-0500 [App/0]   ERR /home/vcap/app/vendor/ruby2.0.0/lib/ruby/2.0.0/webrick/server.rb:284: [BUG] object allocation during garbage collection phase

这是什么意思?我对如何调试这个,甚至问题出在哪里有点茫然。我的应用程序代码有问题吗?配置问题?

我不确定我是否包含了足够多的错误日志以在此处提供帮助。其余的在这里:

http://pastebin.com/Jv6jUksv

4

3 回答 3

2

您可以在 Gem 文件中指定要在应用程序中运行的 Ruby 版本。Bluemix 中的 Ruby buildpack 支持 Ruby v2.1.x、v2.2 等。

但我想错误的可能原因是您的应用程序超出了分配给您的应用程序的内存配额。Bluemix 正在使用 CloudFoundry,如果应用程序实例消耗的内存多于分配的内存,它将终止该应用程序实例。您可以通过在执行“cf push”时指定“-m”选项来增加分配给应用程序的内存。例如:

cf push -m 1G
于 2015-04-15T14:33:53.057 回答
0

您可以在开发者论坛中提出关于 bluemix 支持的票证/提问以快速解决问题

这个问题的(如果 ruby​​ 2.0.0 有问题并且相同的高级版本工作正常

为你):

https://developer.ibm.com/bluemix/support/

于 2014-12-21T03:15:50.463 回答
0

有没有办法可以查看此错误消息出现时的内存使用情况?

我得到了错误

[BUG] 垃圾回收阶段的对象分配

在超出这些内存限制时,在具有显式内存限制(可能类似于 IBM Bluemix 的环境)的环境中使用 Ruby 1.8.7。我的记忆受到PBS指令的限制。

对我来说,在解析大量 JSON 时会发生错误,其中 json gem 需要比此特定 JSON 字符串的限制更多的内存。

于 2015-01-13T23:38:58.907 回答