python - uwsgi内存消耗逐渐增加但消耗的内存没有释放

标签 python django nginx uwsgi

我正在使用 django + nginx + uwsgi 运行一个项目,我的 uwsgi.ini 文件配置如下:

socket = /tmp/uwsgi.sock
chmod-socket = 666
socket-timeout = 60
enable-threads  = true
threads = 500
disable-logging=True

上面的配置还添加了harakiri=60但是无法释放内存 然后尝试添加 max-request = 100 和 max-worker-lifetime = 30 但内存未释放 之后尝试配置进程 = 4 和线程 = 2 但也无法释放内存使用量。 在分析我的 api 调用时,我发现了三个批量 api,它们不断增加内存使用并优化代码。尽管在代码优化并向 uwsgi.ini 文件中添加一些参数后,取消abke以释放内存。请帮我解决这个问题。

最佳答案

我在使用 Django + Uwsgi 应用程序时遇到了类似的问题,这是我的 uwsgi.ini 配置:

[uwsgi]

enable-threads  = true
threads = 100
harakiri = 30
max-request = 50
  • 多线程用于增加并发性(我使用过线程 因为它们比运行多个进程便宜)。
  • Harakiri - 如果请求花费的时间超过指定的时间(以秒为单位),则请求将被丢弃,并且该工作线程将被回收。
  • ma​​x-request - 这是重要的参数,将限制进程处理的请求

完成这些操作后,找出哪个请求导致数据库中的大量数据查询结果,并在可能的情况下对其进行优化。

让我知道这是否有效:),更多信息也将有助于找出更好的解决方案。

关于python - uwsgi内存消耗逐渐增加但消耗的内存没有释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58916538/

相关文章:

python - pytorch .cuda() 无法将张量获取到 cuda

python - 使用二进制和连续变量标准化数据以进行机器学习

Django 购物车中 OrderItems 的总价

python - 找到每个类别的独特值(value)

django - Django 1.3 中的静态模板 block 标记错误

python - '_' 在 Django 代码中做什么?

regex - Nginx 使用什么正则表达式引擎?

python - 在使用 postgres 和 Gunicorn+Nginx 作为反向代理的 Django 应用程序中出现“类型 inet 的输入语法无效”数据库错误

nginx - gitlab.rb参数更改nginx.conf或gitlab-http.conf

python - 如何使用 mongoengine 连接到 mongodb 集群