在uwsgi + nginx之后对生产烧瓶进行性能分析

时间:2019-07-09 15:58:00

标签: python profiling uwsgi

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

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

尽管这似乎是非常基本的要求,但我还没有找到一个好的生产配置文件系统。

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

这是我们的uwsgi配置:


    [uwsgi]
    vhost = true
    uid = vagrant

    base = /project/
    wsgi-file = /project/webserver/src/wsgi.py
    chdir = %(base)

    chown-socket = nginx:nginx
    catch-exceptions = true
    uid = nginx
    gid = nginx
    chmod-socket = 777
    socket = /var/run/webpage.com.uwsgi.socket
    plugin = python,dogstatsd
    #plugin = python
    master = True
    callable = app

    processes = 8
    threads = 24
    max-requests = 64
    #reload-on-as = 2000
    reload-mercy = 3600
    #reload-on-rss = 4000
    #limit-as = 10000
    cpu-affinity = 1
    #thread-stacksize = 1024
    max-fd = 250000
    #buffer-size = 30000
    thunder-lock = true
    vacuum = true
    enable-threads = true
    #no-orphans = true
    die-on-term = true
    #socket-timeout = 600
    #websocket-max-size = 16000
    #logto = /var/log/uwsgi/log.txt
    stats = /tmp/uwsgi_stats.socket

0 个答案:

没有答案