I have one problem which I am trying to solve, I have Ruby web project, written in Padrino, it is quite simply project. But I have problems with running the Puma.
Everything works fine, but after a few days, or if I make a stress test, the process of Puma is consuming 100% CPU and stays there forever. I need just to restart Puma (resp. kill it and start again).
It is happening on a few my projects, on Debian Stretch and Jessie.
Puma version is 3.11.4
and this is one of the config files:
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'
I am desperate to know why and solve this annoying problem, I tried to play with configuration, without success. Now two of the processes are at 100%, but the website is working, just draining resources.
Have you some experience like this? Please any suggestions.
EDIT:
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
I am running ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Using Puma from Debian package distribution. I will try the upgrade and I will try to create a simple project to test whether the problem will appear too.
Solved! New version of puma fixed this issue. Thanks all