Rails 关于服务器 unicorn worker 不断被 master kill 的问题。求思路。(已解决)

siriuszhuang · 2012年07月17日 · 最后由 siriuszhuang 回复于 2012年07月17日 · 5597 次阅读

现在应用服务器是 nginx+unicorn+redis+mysql。部署之后发现 unicorn 服务器过一段时间就会被 kill 一些(unicorn 的 worker 数量为 16 个),然后 master 再吧 worker 启起来。这样的话 nginx 就会一直报 502 的错误。现在已经排除服务器、代码、nginx 的问题。unicorn 报错的日志是:

worker=8 PID:11843 timeout (31s > 30s), killing
reaped #<Process::Status: pid=11843,signaled(SIGKILL=9)> worker=8
worker=8 ready

现在需要找到问题,不知道有没有 unicorn 更详细的错误日志抛出的方法。求解~!谢谢~

没遇到过,我的几个应用都很稳定,unicorn.log 里面有没有什么异常信息?

想办法弄明白这个 timeout (31s > 30s), killing 是怎么产生的?什么时候产生的?通过 log 能找到线索么?

碰到过这个问题。 原因是自己 rails 应用的代码会访问某外部服务,不料某天外部服务有问题,访问超时了。

原因找到了。找出错误的方法的使用 rails s production -D -d 启用 debug 模式。看到了根本的问题所在,结果是使用 redis 的时候造成的问题。谢谢大家~ #3 楼 @tech_blogbin

需要 登录 后方可回复, 如果你还没有账号请 注册新账号