我正在尝试在 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; <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="88edb1bfb8edbfbab8ebbceebabaebb1bceebfecb0bababfbbb9bebdbae9bfbcbdc8b9bbb8a6b9beb8a6bea6bdbc" rel="noreferrer noopener nofollow">[email protected]</a>" 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
这是什么意思?我对如何调试这个问题有点茫然,甚至不知道问题出在哪里。我的应用程序代码有问题吗?配置问题?
我不确定我是否包含了足够的错误日志来提供帮助。其余的在这里:
最佳答案
您可以在 Gem 文件中指定要在应用程序中运行的 Ruby 版本。 Bluemix 中的 Ruby 构建包支持 Ruby v2.1.x、v2.2 等。
但我猜错误的可能原因是您的应用程序超出了分配给您的应用程序的内存配额。 Bluemix 使用 CloudFoundry,如果应用程序实例消耗的内存多于分配的内存,它将终止该应用程序实例。您可以在执行“cf Push”时指定“-m”选项来增加分配给应用程序的内存。例如:
cf push -m 1G
关于ruby-on-rails - Rails 日志中的 "object allocation during garbage collection phase"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584619/