schneems / puma_auto_tune

Puma performance without all the (T)pain
227 stars 19 forks source link

R14 errors on heroku #9

Closed tagliala closed 7 years ago

tagliala commented 10 years ago

Hi,

I'm giving a look to puma autotune on heroku (free plan)

This is my configuration

Gemfile

source 'https://rubygems.org'

ruby '2.1.1'
gem 'rails', '4.0.4'

# Servers
gem 'puma'

# Multi-environment configuration
gem 'figaro'

# Hash Ids
gem 'hashids'

# ORM
gem 'pg'

# Flickr
gem 'flickraw'
gem 'instagram'

# Performance and Exception management
gem 'newrelic_rpm'

# Miscellanea
gem 'google-analytics-rails'
gem 'haml'
gem 'jquery-rails'

# Assets
gem 'autoprefixer-rails'
gem 'coffee-rails', '~> 4.0.0'
gem 'sass-rails', '~> 4.0.0'
gem 'twbs_sass_rails'
gem 'uglifier', '>= 1.3.0'

group :development, :test do
  gem 'byebug'
  gem 'delorean'
  gem 'factory_girl_rails'
  gem 'faker'
  gem 'pry'
  gem 'pry-byebug'
  gem 'pry-rails'
end

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'bullet'
  gem 'meta_request'
  gem 'spring'
  gem 'spring-commands-rspec'
end

group :test do
  gem 'capybara'
  gem 'coveralls', require: false
  gem 'database_cleaner'
  gem 'email_spec'
  gem 'rspec'
  gem 'rspec-rails'
  gem 'selenium-webdriver'
  gem 'simplecov', require: false
  gem 'webmock', require: false
end

group :staging, :production do
  gem 'puma_auto_tune'
  gem 'rack-timeout'
  gem 'rails_12factor'
end

puma.rb

workers Integer(ENV['PUMA_WORKERS'] || 3)
threads Integer(ENV['MIN_THREADS']  || 0), Integer(ENV['MAX_THREADS'] || 16)

preload_app!

rackup      DefaultRackup
port        ENV['PORT']     || 3000
environment ENV['RACK_ENV'] || 'development'

on_worker_boot do
  # worker specific setup
  ActiveSupport.on_load(:active_record) do
    ActiveRecord::Base.establish_connection
  end
end

puma_auto_tune.rb

if defined? PumaAutoTune
  PumaAutoTune.start
end

Procfile

web: bundle exec puma -C config/puma.rb

I'm getting tons of R14 error and memory keeps growing, but puma_auto_tune says it's all fine

2014-04-04T15:43:42.132749+00:00 heroku[web.1]: Process running mem=1139M(222.6%)
2014-04-04T15:43:42.133029+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:43:52.740653+00:00 app[web.1]: PumaAutoTune (1216s): All is well puma.resource_ram_mb=506.79345703125 puma.current_cluster_size=17
2014-04-04T15:44:02.215553+00:00 heroku[web.1]: Process running mem=1139M(222.6%)
2014-04-04T15:44:02.215553+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:44:04.040945+00:00 app[web.1]: PumaAutoTune (1227s): All is well puma.resource_ram_mb=505.19580078125 puma.current_cluster_size=17
2014-04-04T15:44:15.672132+00:00 app[web.1]: PumaAutoTune (1239s): All is well puma.resource_ram_mb=507.43115234375 puma.current_cluster_size=17
2014-04-04T15:44:22.309542+00:00 heroku[web.1]: Process running mem=1140M(222.7%)
2014-04-04T15:44:22.310003+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:44:28.115518+00:00 app[web.1]: PumaAutoTune (1251s): All is well puma.resource_ram_mb=508.22412109375 puma.current_cluster_size=17
2014-04-04T15:44:41.482142+00:00 app[web.1]: PumaAutoTune (1264s): All is well puma.resource_ram_mb=507.94677734375 puma.current_cluster_size=17
2014-04-04T15:44:42.190957+00:00 heroku[web.1]: Process running mem=1141M(223.0%)
2014-04-04T15:44:42.191511+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:44:52.950621+00:00 app[web.1]: PumaAutoTune (1276s): All is well puma.resource_ram_mb=507.96142578125 puma.current_cluster_size=17
2014-04-04T15:45:02.419409+00:00 heroku[web.1]: Process running mem=1142M(223.1%)
2014-04-04T15:45:02.419647+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:45:04.752105+00:00 app[web.1]: PumaAutoTune (1288s): All is well puma.resource_ram_mb=509.47314453125 puma.current_cluster_size=17
2014-04-04T15:45:16.827824+00:00 app[web.1]: PumaAutoTune (1300s): All is well puma.resource_ram_mb=510.14892578125 puma.current_cluster_size=17
2014-04-04T15:45:22.273200+00:00 heroku[web.1]: Process running mem=1142M(223.1%)
2014-04-04T15:45:22.273448+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:45:28.562497+00:00 app[web.1]: PumaAutoTune (1312s): All is well puma.resource_ram_mb=506.45361328125 puma.current_cluster_size=17
2014-04-04T15:45:40.600942+00:00 app[web.1]: PumaAutoTune (1324s): All is well puma.resource_ram_mb=506.04931640625 puma.current_cluster_size=17
2014-04-04T15:45:42.369069+00:00 heroku[web.1]: Process running mem=1150M(224.7%)
2014-04-04T15:45:42.369451+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:45:53.841727+00:00 app[web.1]: PumaAutoTune (1336s): All is well puma.resource_ram_mb=506.06396484375 puma.current_cluster_size=17
2014-04-04T15:46:02.393046+00:00 heroku[web.1]: Process running mem=1150M(224.7%)
2014-04-04T15:46:02.393046+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:46:06.494386+00:00 app[web.1]: PumaAutoTune (1349s): All is well puma.resource_ram_mb=507.04541015625 puma.current_cluster_size=17
2014-04-04T15:46:18.228034+00:00 app[web.1]: PumaAutoTune (1361s): All is well puma.resource_ram_mb=508.30322265625 puma.current_cluster_size=17
2014-04-04T15:46:22.397957+00:00 heroku[web.1]: Process running mem=1150M(224.7%)
2014-04-04T15:46:22.398304+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:46:31.145761+00:00 app[web.1]: PumaAutoTune (1374s): All is well puma.resource_ram_mb=509.11083984375 puma.current_cluster_size=17
2014-04-04T15:46:42.379991+00:00 heroku[web.1]: Process running mem=1151M(225.0%)
2014-04-04T15:46:42.380354+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2014-04-04T15:46:43.229681+00:00 app[web.1]: PumaAutoTune (1386s): All is well puma.resource_ram_mb=504.88427734375 puma.current_cluster_size=17

Where am I wrong?

tagliala commented 10 years ago

@schneems I have to close this one? this is not an issue of puma_auto_tune?

schneems commented 10 years ago

I've updated the readme https://github.com/schneems/puma_auto_tune#stability