Какое количество процессов лучше устанавливать на проде?

Наткнулся на такой конфиг:

[uwsgi]
strict = true
master = true
enable-threads = true
vacuum = true                        ; Удалить sockets во время выключения
single-interpreter = true
die-on-term = true                   ; Отключение при получении SIGTERM (по умолчанию перегрузка)
need-app = true

disable-logging = true               ; Отключение встроенного логирования
log-4xx = true                       ; но включение для 4xx
log-5xx = true                       ; и 5xx

harakiri = 60                        ; насильственно уничтожение  workers через 60 секунд
py-callos-afterfork = true           ; позволяют workers получать сигналы

max-requests = 1000                  ; Перезапуск workers после этого количества запросов
max-worker-lifetime = 3600           ; Перезапуск workers через указанного количества секунд
reload-on-rss = 2048                 ; Перезапуск workers после потребление указанного количества памяти
worker-reload-mercy = 60             ; Время ожидания перед удалением workers

cheaper-algo = busyness
processes = 128                      ; Разрешенное максимальное количество workers
cheaper = 8                          ; Минимальное количество  worker
cheaper-initial = 16                 ; Workers созданные во время старта
cheaper-overload = 1                 ; Продолжительность цикла в секундах
cheaper-step = 16                    ; Количество workers при из порождение

cheaper-busyness-multiplier = 30     ; Сколько циклов ждать, прежде чем убивать workers
cheaper-busyness-min = 20            ; Ниже этого порога убивать workers (если стабильно для множителя циклов)
cheaper-busyness-max = 70            ; Выше этого порога порождать новых workers
cheaper-busyness-backlog-alert = 16  ; Порождать аварийных workers, если в очереди ожидает больше этого количества запросов
cheaper-busyness-backlog-step = 2    ; Количество аварийных workers, если в очереди слишком много запросов

В нем параметр

processes = 128  

Это получается, что на сервере используется 128-ядерный процессор (из расчета 1 процесс на 1 ядро)? Или я чего то не так понимаю?

На просторах интернета из бест практик читал, что лучше делать количество процессов - равным количеству ядер, что бы не было частых переключений контекста.

Соответственно сам вопрос - какое количество лучше устанавливать на проде для параметра process - по формуле nCPU * 2 + 1 или просто методом тыка и анализа?


Ответы (0 шт):