我有一个要解决的问题,我有一个用Padrino编写的Ruby Web项目,它很简单。但是我在运行Puma时遇到问题。
一切正常,但是几天之后,或者如果我进行压力测试,Puma的进程将消耗100%的CPU,并且永远存在。我只需要重新启动Puma(将其杀死即可,然后重新开始)。
这正在我的一些项目中发生,在Debian Stretch和Jessie上。
Puma版本为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。我将尝试升级,并尝试创建一个简单的项目来测试问题是否也会出现。
答案 0 :(得分:0)
解决了!新版本的puma修复了此问题。谢谢大家