首页 > 解决方案 > Puma 搭配 Padrino,CPU 消耗不会停止

问题描述

我有一个要解决的问题,我有一个用 Padrino 编写的 Ruby Web 项目,它是一个非常简单的项目。但是我在运行 Puma 时遇到了问题。

一切正常,但几天后,或者如果我进行压力测试,Puma 的进程正在消耗 100% 的 CPU 并永远停留在那里。我只需要重新启动 Puma(分别杀死它并重新开始)。

它发生在我的一些项目上,在 Debian Stretch 和 Jessie 上。

彪马版本是3.11.4

这是配置文件之一:

preload_app!

rackup 'config.ru'

environment 'production'

daemonize
pidfile 'logs/osadababa.pid'

state_path 'logs/puma.state'
stdout_redirect 'logs/stdout', 'logs/stderr', true

threads 4,6

bind 'ssl://0.0.0.0:8060?key=/etc/letsencrypt/live/osadababa.cz/privkey.pem&cert=/etc/letsencrypt/live/osadababa.cz/fullchain.pem'

tag 'osadababa-dev'

我很想知道为什么并解决这个烦人的问题,我尝试使用配置,但没有成功。现在有两个进程达到了 100%,但网站正在运行,只是在消耗资源。

你有这样的经历吗?请有任何建议。

编辑:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.7.7
  - RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.5.1
  - USER INSTALLATION DIRECTORY: /root/.gem/ruby/2.5.0
  - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-2.5.1/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.5.1/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/rvm/rubies/ruby-2.5.1/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-2.5.1
     - /usr/local/rvm/gems/ruby-2.5.1@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /opt/swift/build/swift-4.1.2-RELEASE-ubuntu14.04/usr/bin
     - /usr/local/rvm/gems/ruby-2.5.1/bin
     - /usr/local/rvm/gems/ruby-2.5.1@global/bin
     - /usr/local/rvm/rubies/ruby-2.5.1/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/local/rvm/bin

我正在运行 ruby​​ 2.5.1p57(2018-03-29 修订版 63029)[x86_64-linux]

使用来自 Debian 软件包发行版的 Puma。我会尝试升级,我会尝试创建一个简单的项目来测试是否也会出现问题。

标签: rubyrackpumapadrino

解决方案


解决了!新版本的 puma 修复了这个问题。谢谢大家


推荐阅读