- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所有,我正在开发一个基于 Flask 的 API,使用 uWSGI v2) 作为应用程序服务器(w/NGINX,如果相关的话)。 uWSGI .ini 文件是:
[uwsgi]
module = WSGI
callable = app
master = true
processes = 5
socket = /var/uwsgi/api.sock
uid = gg_python
gid = www-data
vacuum = true
venv = /home/gg_python/flask_projects/api/apivenv3
die-on-term = true
daemonize = /tmp/uwsgi_daemonize.log
更新:这是 uWSGI 启动摘要输出:
*** Starting uWSGI 2.0.10 (64bit) on [Fri Jun 26 08:31:52 2015] ***
compiled with version: 4.9.2 on 29 April 2015 17:23:06
os: Linux-3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24)
nodename: debian-api
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /home/gg_python/flask_projects
detected binary path: /home/gg_python/flask_projects/api/apivenv3/bin/uwsgi
your processes number limit is 7972
your memory page size is 4096 bytes
detected max file descriptor number: 65536
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /var/uwsgi/api.sock fd 3
Python version: 3.4.2 (default, Oct 8 2014, 10:47:48) [GCC 4.9.1]
PEP 405 virtualenv detected: /home/gg_python/flask_projects/api/apivenv3
Set PythonHome to /home/gg_python/flask_projects/api/apivenv3
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x19faca0
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 436608 bytes (426 KB) for 5 cores
*** Operational MODE: preforking ***
WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x19faca0 pid: 20775 (default app)
*** uWSGI is running in multiple interpreter mode ***
过了一段时间(uWSGI启动后大约1天就足以看到效果),我收到了数十个打开的进程。 htop 屏幕截图(重新加载后几个小时):
一天后这会变得更长。当然,API 的响应速度会降低。我该如何调试这个?有什么方法可以查看是什么让所有这些进程和子进程保持打开状态?请注意,API 并不是那么繁忙。我确实是目前唯一一个使用它的人,它很少有任何显着的负载,而且从来没有接近需要数十个进程的情况。
关于如何调试此流程膨胀问题有什么想法吗?
最佳答案
如果有人在类似的设置中看到此问题,则问题是线程被禁用。 uWSGI 在启动时指示这一点(参见问题正文):
*** Python threads support is disabled. You can enable it with --enable-threads ***
添加命令行参数--enable-threads
或将以下内容添加到uWSGU .ini初始化文件中:enable-threads=true
我确实在代码中使用了线程模块,一旦启用线程,uWSGI 就不会生成更多进程。
关于python-3.x - Flask/uWSGI - 一段时间后进程过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31063908/
uWSGI 主进程有什么用? 和/或我可以在哪里阅读更多相关信息? 我找到了零文档。 最佳答案 您可以找到有关大师的一些信息here和 here 一般来说,主文件负责优雅地重新加载您的应用程序服务器(
我有多个基于 Flask 的 web 应用程序在 docker 容器中运行(它们的进程需要与主机操作系统隔离)。为了运行这些应用程序,我在容器内使用了 uWSGI 服务器。传入的请求应该通过订阅服务器
我正在尝试使用 uwsgi 进行一些非常复杂的配置。从长远来看,我试图让自己的事情变得更容易,自然而然,这样做,我正在使事情变得尽可能困难。 无论如何,我正在寻找魔法变量的完整列表。我能在 Emper
我开始使用 uWSGI,我想知道它的工作人员是否是非阻塞/基于事件的(就像 nginx 一样)。 假设我已经像这样启动了 uWSGI: uwsgi --http :8000 --wsgi-file t
我们的应用程序是为 Python 2.7 编写的。它有一个配置为使用 Python 2.7 的 virtualenv。系统安装的 uWSGI 是用 Python 2.6 构建的。 It seems t
我在这个页面 http://uwsgi-docs.readthedocs.org/en/latest/StatsServer.html并使用 uwsgitop但我不知道如何解释输出。文档也没有透露太多
我看到这里发布了许多 uWSGI 配置,我在工作中遇到的现有应用程序的配置也有填充了 100 到 1000 值的 max-requests。 在一定数量的请求后回收进程的目的是什么?您是否试图避免内存
我正在使用 uWSGI 运行一个 webpy 网络服务器,有些请求花费的时间太长。设置 harakiri 模式后,我注意到请求被终止后会再次重试。 是否可以禁用此行为? 运行命令为: /usr/loc
uwsgi 中的“mule farm”是什么,它有什么用?有一些使用示例吗?我没有在文档或其他任何地方找到任何东西。 最佳答案 一群有名字的骡子 --farm chickens:1,2,3. --fa
在学习Python web开发时候,可能会遇到诸如uwsgi,wsgi等名词,下面通过梳理总结探究它们之间的关系。 CGI CGI,(Common Gateway Interface)通用网关接口,是
我已经使用 uWSGI 部署了一个 WSGI 应用程序,但是 I am not using NGINX .如何使用 uWSGI's internal routing将 http 请求重定向到 http
我正在使用命令在 uWsgi 服务器中测试应用程序, uwsgi --http :9090 --wsgi-file myapp.py --callable app --processes 4 --th
我们有一个工作的 uwsgi 服务器,带有一些 RPC 调用(注意:我们能够使用 uwsgi.rpc 与进程对话,因此它们端的设置很好)。我们发现我们有一些进程没有在 uwsgi 下运行,但我们想要与
我正在尝试为我的 Django 项目设置 uwsgi。它运行良好 ./manage.py runserver 0.0.0.0:9010 但是当我尝试 uwsgi --http :9010 --chd
我是 Linux 开发的新手。我对阅读的文档有点困惑。我的最终目标是托管一个简单的 python 支持的 Web 服务,该服务将检查传入的有效负载,并将其转发到其他服务器。这应该不到 30 行 pyt
我的 Django 应用程序倾向于使用 uwsgi+nginx,谁能分享启动我的 uwsgi 进程的最佳方法?有没有人有调整uwsgi的经验? 最佳答案 在 OSX 上启动 Unice 上的 Upst
从 ini 文件启动 uwsgi 时崩溃,堆栈跟踪如下: Traceback (most recent call last):
我用 Django 编写了一个服务器应用程序,并使用 Tastypie 为移动应用程序提供 API,并使用本地 MySQL 服务器为数据库提供服务。 在进程被杀死或结束之前,查询似乎被缓存了。如果我在
我正在开发一个基于 Python 的应用程序(HTTP -- REST 或 jsonrpc 接口(interface)),它将用于生产自动化测试环境。这将连接到运行所有测试脚本的 Java 客户端。即
我尝试在 nginx+uwsgi、os - debian (3.1.0-1-amd64 x86_64) 上为 django 建立网络服务器 nginx 1.1.8-1,uwsgi 0.9.8.3-1
我是一名优秀的程序员,十分优秀!