Unicorn Rails - занимает 100% CPU при запуске в производственном режиме - PullRequest
7 голосов
/ 09 августа 2011

Мы используем Unicorn_Rails + nginx.Он хорошо работает в режиме разработки и в производственном режиме в моей системе (4 ГБ ОЗУ, процессор Intel® Core ™ 2 Duo P8600 @ 2,40 ГГц). Я могу запустить 10 рабочих в локальной системе, но не могу запустить более 2 вв любом случае в работе иногда это работает, но нужно подождать 15-20 мс. Процессор занимает 99,6% времени при запуске unicorn_rails

Intel (R) Xeon (R) CPU E5507 @ 2,27 ГГц, но зависает вamazon (m1.small instance) 1.73 ГБ ОЗУ

я не вижу никого, кто бы говорил о медленном запуске где-нибудь с использованием unicorn_rails ...

1 Ответ

2 голосов
/ 09 августа 2011

Запуск Rails связан с ЦП, он (почти) всегда будет использовать 100% ЦП все время.Похоже, нагрузка на этот экземпляр слишком велика;на каждое ядро ​​ЦП требуется только 1 рабочий, а в m1.small есть только один.

Когда вы пытаетесь запустить 10 рабочих, они совместно используют ЦП и ввод-вывод, а также много запросов ввода-вывода.всегда замедляет работу подсистемы.Вы можете добавить предложение preload_app true в ваш config/unicorn.rb;это должно уменьшить время запуска, но вам действительно не нужно 10 рабочих в таком случае.

...