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

siriuszhuang · July 17, 2012 · Last by siriuszhuang replied at July 17, 2012 · 5584 hits

现在应用服务器是 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

You need to Sign in before reply, if you don't have an account, please Sign up first.