2016-01-01 1 views
1

Почему у меня есть 4 рабочих Puma, если я установил WEB_CONCURRENCY = 3 в моей конфигурации Heroku?Установка числа рабочих Puma на Heroku

В this question я узнал, что Новая реликвия называет «приложениями» рабочих Puma.

Вот моя puma.rb конфигурация:

workers Integer(ENV['WEB_CONCURRENCY'] || 2) 
threads_count = Integer(ENV['MAX_THREADS'] || 1) 
threads threads_count, threads_count 

preload_app! 

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

on_worker_boot do 
    # Valid on Rails 4.1+ using the `config/database.yml` method of setting `pool` size 
    ActiveRecord::Base.establish_connection 
end 

Heroku конфигурации:

WEB_CONCURRENCY: 3

ответ

3

Puma имеет один главный процесс.
Это не касается запроса. Он контролирует и управляет (перезапускает или что-то) рабочих.

Если вы установили 3 параллелизма, есть 4 процесса. 3 работника (управляющий запрос) и 1 мастерская прецессия (управляющие)

+0

Спасибо. Использует ли мастер-процесс столько же памяти, сколько рабочий? – user1515295