diff --git a/config/puma/development.rb b/config/puma/development.rb index d14736b..c3d94f7 100644 --- a/config/puma/development.rb +++ b/config/puma/development.rb @@ -1,18 +1,7 @@ # frozen_string_literal: true -# Puma can serve each request in a thread from an internal thread pool. -# The `threads` method setting takes two numbers: a minimum and maximum. -# Any libraries that use thread pools should be configured to match -# the maximum value specified for Puma. Default is set to 5 threads for minimum -# and maximum; this matches the default thread size of Active Record. -# +workers_count = ENV.fetch('WEB_CONCURRENCY') { 1 } threads_count = ENV.fetch('RAILS_MAX_THREADS') { 5 } -threads threads_count, threads_count - -# Specifies the `port` that Puma will listen on to receive requests; -# default is 3000. -# -port ENV.fetch('PORT') { 3000 } # Specifies the number of `workers` to boot in clustered mode. # Workers are forked webserver processes. If using threads and workers together @@ -20,14 +9,27 @@ port ENV.fetch('PORT') { 3000 } # Workers do not work on JRuby or Windows (both of which do not support # processes). # -# workers ENV.fetch('WEB_CONCURRENCY') { 2 } +workers workers_count + +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers: a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum; this matches the default thread size of Active Record. +# +threads threads_count, threads_count # Use the `preload_app!` method when specifying a `workers` number. # This directive tells Puma to first boot the application and load code # before forking the application. This takes advantage of Copy On Write # process behavior so workers use less memory. # -# preload_app! +preload_app! + +# Specifies the `port` that Puma will listen on to receive requests; +# default is 3000. +# +port ENV.fetch('PORT') { 3000 } # Allow puma to be restarted by `rails restart` command. plugin :tmp_restart diff --git a/config/puma/production.rb b/config/puma/production.rb index 1ed657b..2c1d2d4 100644 --- a/config/puma/production.rb +++ b/config/puma/production.rb @@ -2,19 +2,8 @@ root_dir = File.expand_path('../..', __dir__).freeze -# Puma can serve each request in a thread from an internal thread pool. -# The `threads` method setting takes two numbers: a minimum and maximum. -# Any libraries that use thread pools should be configured to match -# the maximum value specified for Puma. Default is set to 5 threads for minimum -# and maximum; this matches the default thread size of Active Record. -# +workers_count = ENV.fetch('WEB_CONCURRENCY') { 1 } threads_count = ENV.fetch('RAILS_MAX_THREADS') { 5 } -threads threads_count, threads_count - -# Bind the server to "url". "tcp://", "unix://" and "ssl://" are the only -# accepted protocols. -# -bind "unix://#{File.join(root_dir, 'tmp', 'sockets', 'puma.sock')}" # Specifies the number of `workers` to boot in clustered mode. # Workers are forked webserver processes. If using threads and workers together @@ -22,11 +11,24 @@ bind "unix://#{File.join(root_dir, 'tmp', 'sockets', 'puma.sock')}" # Workers do not work on JRuby or Windows (both of which do not support # processes). # -# workers ENV.fetch('WEB_CONCURRENCY') { 2 } +workers workers_count + +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers: a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum; this matches the default thread size of Active Record. +# +threads threads_count, threads_count # Use the `preload_app!` method when specifying a `workers` number. # This directive tells Puma to first boot the application and load code # before forking the application. This takes advantage of Copy On Write # process behavior so workers use less memory. # -# preload_app! +preload_app! + +# Bind the server to "url". "tcp://", "unix://" and "ssl://" are the only +# accepted protocols. +# +bind "unix://#{File.join(root_dir, 'tmp', 'sockets', 'puma.sock')}"