Ruby on rails 网站保留长时间运行的进程并挂起,为什么?

问题描述 投票:0回答:0

用TOP查看linux进程时,会看到5、6个长时间运行的ruby进程,网站无响应

例如

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6010 ec2-user 20 0 452m 113m 8724 S 16.0 11.5 0:46.91 红宝石
6044 ec2-user 20 0 452m 115m 8780 S 15.3 11.6 0:44.89 红宝石
6018 ec2-user 20 0 452m 114m 8724 S 15.0 11.6 0:46.11 红宝石
6054 ec2-user 20 0 452m 114m 8780 S 14.6 11.6 0:44.74 红宝石
6026 ec2-user 20 0 452m 114m 8724 S 14.3 11.5 0:45.60 红宝石
6036 ec2-user 20 0 448m 112m 6568 S 14.3 11.3 0:45.33 红宝石
2943 ec2-user 39 19 570m 12m 6728 S 8.0 1.2 2:05.32 PassengerAgent
6033 postgres 20 0 228m 12m 9696 S 1.3 1.2 0:02.30 postmaster
5855 ec2-用户 20 0 15320 2180 1860 R 0.3 0.2 0:01.22 顶部

重新启动服务器并重新启动 passenger ( bundle exec passenger start -a 0.0.0.0 -p 3000 -d -e production ) 网站将正常运行,在 TOP 中我看到 ruby 进程快速来来去去。但很快他们就停止“继续”,网站变得没有响应。

我相信当这种情况开始发生时,乘客日志开始显示“返回 HTTP 503 由于:请求队列已满(配置的最大大小:100)”

这是一个非常古老的网站,不是我建立的,但它运行了很长时间没有错误,并且在过去的 24 小时内出现了这种行为。

ruby-on-rails ruby
© www.soinside.com 2019 - 2024. All rights reserved.