Я запускаю django на uwsgi, используя следующую команду
uwsgi --master --cheap --idle 60 --http-socket :8084 --wsgi-file /var/django/mysite/django.wsgi
Обычно мои процессы занимают около 10 МБ каждый, но я видел, что они занимают около половины МБ. Мой вопрос: понижает ли uwsgi процессы до еще более дешевого режима, когда серверу не хватает памяти? Если кто-нибудь может точно объяснить, как работают --cheap и --idle, это было бы очень полезно.
Из документация:
дешево отложить запуск воркеров до первого запроса
дешевле продвинутый дешевый режим, он будет только появляться
<n>
worker при запуске и будет использовать различные (подключаемые) алгоритмы для реализации адаптивного распределения процессов.праздный уничтожить воркеров (сервер перейдет в дешевый режим) после
<secs>
бездействия
Таким образом, эти параметры сокращают использование памяти за счет запуска рабочих процессов только тогда, когда они действительно необходимы. Обратной стороной является немного большая задержка, потому что рабочие должны запускаться при поступлении запроса.