uwsgi + nginx后面的分析生产烧瓶应用程序>>

问题描述 投票:1回答:1

我有一个flask应用程序,在Linux(centos)上的uwsgi + nginx之后运行。

我想分析应用程序以找到瓶颈(在每个功能上花费的时间)。这是一个繁重的应用程序,需要8名工人在生产上运行。

虽然看起来很基本,但是我还没有找到一个好的生产配置文件系统。

我曾尝试使用python信号库生成“ https://www.nylas.com/blog/performance/”中建议的配置文件-但我遇到了一个问题:仅在主线程上允许signal()操作,而生产uwsgi只需运行少量工人。此外,出于性能方面的考虑,我们允许使用孤儿,因此仅在主节点上运行操作不会对孤儿起作用。任何建议将不胜感激!

这是我们的uwsgi配置:

[uwsgi]虚拟主机= trueuid =无业游民基地= /项目/wsgi-file = /project/webserver/src/wsgi.pychdir =%(基本)chown-socket = nginx:nginxcatch-exceptions = trueuid = nginxgid = nginxchmod-socket = 777套接字= /var/run/webpage.com.uwsgi.socket插件= python,dogstatsd#plugin = python大师=真可通话=应用流程= 8线程= 24最大请求数= 64#reload-on-as = 2000重载怜悯= 3600#reload-on-rss = 4000#limit-as = 10000cpu亲和力= 1#thread-stacksize = 1024最大fd = 250000#buffer-size = 30000雷锁= true真空=真enable-threads = true#no-orphans =真按期死亡=正确#socket-timeout = 600#websocket-max-size = 16000#logto = /var/log/uwsgi/log.txt统计信息= /tmp/uwsgi_stats.socket

我有一个flask应用程序,在Linux(centos)上的uwsgi + nginx之后运行。我想分析该应用程序以查找瓶颈(在每个功能上花费的时间)。这是一个繁重的应用程序,具有8 ...

python profiling uwsgi
1个回答
0
投票

Pyliveupdate可能是用于分析多个进程/线程的合适工具。它运行一个独立的控制器来指示所有注册的进程和线程进行性能分析。它还可以动态启用和禁用概要分析,因此您无需重新启动生产服务器。在https://asciinema.org/a/304465和项目仓库中查看一个演示:https://github.com/devopspp/pyliveupdate

© www.soinside.com 2019 - 2024. All rights reserved.