我使用以下命令在 uwsgi 上运行 django
uwsgi --master --cheap --idle 60 --http-socket :8084 --wsgi-file /var/django/mysite/django.wsgi
通常我的每个进程占用大约 10mb,但我也看到过它们占用大约半 MB。我的问题是,当服务器内存不足时,uwsgi 是否会将进程降级到更便宜的模式?如果有人能准确解释 --cheap 和 --idle 是如何工作的,我将不胜感激。
答案1
来自文档:
便宜的 推迟工人的启动,直到第一个请求
更便宜 一种先进的廉价模式,这将仅
<n>
在启动时产生工作者,并将使用各种(可插入)算法来实现自适应进程产生。闲置的
<secs>
不活动 后销毁工作人员(服务器将进入廉价模式)
因此,基本上这些选项只在真正需要时运行工作器,从而减少了内存使用量。缺点是延迟稍高,因为必须在请求进入时启动工作器。