【发布时间】:2019-01-31 11:39:12
【问题描述】:
我有一个 Rails 应用程序,它的 CPU 利用率大部分时间都是 100%。 我无法弄清楚为什么服务器上有这么多负载。我正在使用具有默认配置的 Puma Web 服务器,并且正在使用 sucker-punch gem 运行多个后台作业。有 7 个文件正在使用 5 名工人的吸盘打孔作业:
include SuckerPunch::Job
workers 5
我运行了top -i 查询,发现服务器上正在运行以下进程。我可以在服务器上看到多个 Ruby 命令。有人能告诉我这是否是服务器上的正常行为,还是有问题?
【问题讨论】:
-
我不确定您使用的是什么应用程序服务器以及它的配置。我认为您必须配置许多工人。您必须提供有关应用服务器的更多信息(puma?passenger?unicorn?)
-
我正在使用 Puma 应用服务器,并且我还在使用 Sucker Punch gem 进行多个后台作业
-
那么,Puma 的配置是什么?你用了多少工人?那么sucker_punch 配置呢?看来你们俩的工人太多了
-
我在 AWS EC2 服务器上使用默认的 PUMA 配置和默认的 Sucker-punch 配置。但是有 7 个文件正在使用吸盘打孔作业,每个文件有 5 名工人。为了提高可读性,我添加了有关问题本身的详细信息
-
运行
top -c,它会添加一个列,其中包含创建每个进程的命令的更多信息
标签: ruby-on-rails ruby ruby-on-rails-4 amazon-ec2 puma