Рабочие для 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

Можете ли вы сказать мне, что плохо в моей конфигурации?

Спасибо

0 ответов

Другие вопросы по тегам