首页 > 解决方案 > Rails 5.1.7 服务器在第一次请求时挂起

问题描述

我们正在尝试将 Rails 服务器更新到 5.1 版。

服务器启动正常;但是在第一次请求时,完全死了;并且必须用信号 9 杀死。

不管是 Puma 还是 Webrick。
不管是 5.1.0 还是 5.1.7 都不管它的开发模式还是生产模式。

最终我看到进程大小是 90GB 并且还在增长!

我试过 rbtrace,但很难从中得到任何有意义的东西。

我在 osx 上,所以 strace 不可用,我一直在努力让 dtrace 或 dtruss 工作,或者产生任何有意义的东西。

所以寻找一种方法来让这个 Rails 服务器告诉我它的问题是什么......

让我知道还有哪些重要信息。

标签: ruby-on-railsrubyosx-yosemite

解决方案


经过相当长的过程,我找到了一个解决方案,它并没有找到问题的根源,而是提供了一个解决它的过程。

首先,我用

rails app:update

并接受了所有的覆盖。然后使用 git,我浏览了从我的配置文件中删除的所有代码,并只返回了所需的部分 [例如 config/routes.rb 和 ActionMailer 配置]。

然后应用程序立即启动,没有问题。

这也让我

http://railsdiff.org/5.0.7.2/5.1.0

这对于 Rails 升级至关重要。这很值得消费:

https://github.com/rails/rails/issues/31377#issuecomment-350422347


推荐阅读