Рабочие для Unicorn (Rails), Nginx и Sucker-Punch
В настоящее время у меня есть работающее веб-приложение на Nginx + Unicorn (на сервере только 1 ядро и 1 ГБ ОЗУ). Кроме того, у меня есть несколько фоновых заданий, которые работают с Sucker-Punch. В приложении некоторые люди генерируют большие отчеты, и у меня были большие таймауты и большие возможности, но иногда происходит сбой приложения, и я должен перезапустить Unicorn.
Непрерывная ошибка:
ERROR -- : reaped #<Process::Status: pid xxxxx SIGKILL (signal 9)> worker=0
Я устанавливаю Nginx с помощью:
worker_processes 1;
worker_connections 1024;
keepalive_timeout 65; # I Think that this should be changed
types_hash_max_size 2048;
Мой Единорог:
worker_processes 1
timeout 360
preload_app true
А единорог-работник-убийца основан на больших отчетах:
max_request_min = 3072
max_request_max = 4096
# Max requests per worker
use Unicorn::WorkerKiller::MaxRequests, max_request_min, max_request_max, true
oom_min = (340) * (1024**2)
oom_max = (400) * (1024**2)
# Max memory size (RSS) per worker
use Unicorn::WorkerKiller::Oom, oom_min, oom_max, 16, true
И задания Sucker-Punch начинаются с:
include SuckerPunch::Job
workers 1
Можете ли вы сказать мне, что плохо в моей конфигурации?
Спасибо