Mutli-Site uWSGI config
У меня есть около десятка небольших сайтов Django, которые я хочу запустить, используя Nginx и uWSGI. Они находятся на 4-ядерном сервере с 8 гигабайтами оперативной памяти. Должен ли каждый сайт быть настроен в своем собственном сокете и как я могу контролировать общее количество процессов во всех экземплярах uWSGI? Если каждое работающее приложение имеет 30 процессов, как я могу предотвратить исчерпание памяти?
1 ответ
Добавьте параметр --limit-as для каждого экземпляра и ограничьте количество запросов, которые каждый процесс будет обрабатывать после перезапуска (-R 1000 обычно является хорошим значением, это уменьшит утечки)
30 процессов на приложение выглядит для меня слишком много, начните с 8 (ncpu*2) и увеличьте их, если вам это нужно
Если вы хотите, вы можете использовать дерево разработки (взять его через Mercurial) и использовать функции тюрьмы: