django – uWSGI没有释放内存

django – uWSGI没有释放内存,第1张

概述我尝试了一个非常小的 django应用程序,主要用于html静态内容,没有数据库 *** 作.该应用程序在nginx和uwsgi上.我也安装了postgres,但是对于这个问题,我没有做任何数据库 *** 作. 我发现uwsgi进程没有释放内存.在这张来自newrelic的图表中,你会发现uwsgi进程所占用的内存仍然停滞在~100MB左右,尽管在这种停滞期间,网站/应用程序一直没有活动. 另外,仅供参考:app 我尝试了一个非常小的 django应用程序,主要用于HTML静态内容,没有数据库 *** 作.该应用程序在Nginx和uwsgi上.我也安装了postgres,但是对于这个问题,我没有做任何数据库 *** 作.

我发现uwsgi进程没有释放内存.在这张来自newrelic的图表中,你会发现uwsgi进程所占用的内存仍然停滞在~100MB左右,尽管在这种停滞期间,网站/应用程序一直没有活动.

另外,仅供参考:app / uwsgi进程开始时只耗费56MB.当我用ab(apache基准测试)进行测试并且用-n 1000 -c 10或大约该范围进行测试时,我达到了这个~100MB.

Nginx Conf

server {      Listen        80;      server_name   <ip_address>;      root        /var/www/mywebsite.com/;      access_log  /var/www/logs/Nginx_access.log;      error_log   /var/www/logs/Nginx_error.log;      charset             utf-8;      default_type        application/octet-stream;      tcp_nodelay         off;      gzip                on;      location /static/       {        alias /var/www/mywebsite.com/static/;        expires 30d;        access_log off;      }      location /       {          include uwsgi_params;          uwsgi_pass unix:/var/www/mywebsite.com/django.sock;      }}

app_uwsgi.ini

[uwsgi]plugins = python; define variables to use in this scriptproject = myappbase_dir = /var/www/mywebsite.comapp=relocuID = www-datagID = www-data; process name for easy IDentification in topprocname = %(project)no-orphans = truevacuum = truemaster = trueharakiri = 30processes = 2processes = 2pythonpath = %(base_dir)/pythonpath = %(base_dir)/srcpythonpath = %(base_dir)/src/%(project)logto = /var/www/logs/uwsgi.logchdir = %(base_dir)/src/%(project)module = reloc.wsgi:applicationsocket = /var/www/mywebsite.com/django.sockchmod-socket = 666chown-socket = www-data

更新1:所以看起来,它不是uwsgi,而是保留某些数据结构以便加快处理的python进程.

解决方法 Web框架通常将其代码加载到内存中.这通常不是问题,但是对工人的总内存消耗设置上限并不是一个坏主意,因为在几个请求的过程中,个体工作者的内存消耗可能会增长.

当工作人员达到或超过上限时,一旦提供请求,它将自动重新启动.这是通过reload_on_rss flag完成的

您要将其设置为取决于服务器上可用的内存以及您正在运行的工作器数量.

总结

以上是内存溢出为你收集整理的django – uWSGI没有释放内存全部内容,希望文章能够帮你解决django – uWSGI没有释放内存所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196797.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存