Я только что выпустил камень ' Единорог-работник-убийца '.Это позволяет вам уничтожать работника Unicorn, основываясь на 1) максимальном количестве запросов и 2) объеме памяти процесса (RSS), не влияя на запрос.Это действительно легко использовать.Сначала добавьте эту строку в Gemfile
.
gem 'unicorn-worker-killer'
Затем добавьте следующие строки в config.ru
.
# Unicorn self-process killer
require 'unicorn/worker_killer'
# Max requests per worker
use Unicorn::WorkerKiller::MaxRequests, 3072, 4096
# Max memory size (RSS) per worker
use Unicorn::WorkerKiller::Oom, (256*(1024**2)), (384*(1024**2))
Настоятельно рекомендуется рандомизироватьпорог, чтобы не убивать всех работников одновременно.