Назад | Перейти на главную страницу

Конфигурация Multi-Site uWSGI

У меня около дюжины небольших сайтов Django, которые я хочу запустить с помощью Nginx и uWSGI. Они стоят на 4-х ядерном сервере с 8 гигабайтами оперативной памяти. Должен ли каждый сайт быть настроен на собственный сокет и как я могу контролировать общее количество процессов во всех экземплярах uWSGI? Если каждое запущенное приложение имеет 30 процессов, как я могу предотвратить исчерпание оперативной памяти?

добавьте параметр --limit-as для каждого экземпляра и ограничьте количество запросов, которые каждый процесс будет обрабатывать после перезапуска (-R 1000 обычно хорошее значение, это уменьшит утечки)

30 процессов на приложение кажутся мне слишком много, начните с 8 (ncpu * 2) и увеличьте их, если вам это нужно

Если хотите, вы можете использовать дерево разработки (взять его через mercurial) и использовать функции тюрьмы:

http://projects.unbit.it/uwsgi/wiki/UseCgroups

http://projects.unbit.it/uwsgi/wiki/LinuxNamespace