zoukankan      html  css  js  c++  java
  • flask 运行时阻塞

    之前并没有研究过flask在大量不同请求的情况下请求的处理机制,最近发现自己的一个监控系统的Recv-Q 堆积过多,然后看了一下是程序的处理能力的问题。

    1、看见服务器Recv-Q较多,消费不及时

    [root@iZbp1ftexcphcvhbglvmz8Z ~]# netstat -tnlp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        12      0 0.0.0.0:1234            0.0.0.0:*               LISTEN      17051/python        

    2、索性就测试了一下flask的阻塞情况

    @api.route('/')
    #@auth.login_required
    def index():
        import time
        time.sleep(15)
        return {
            print("hello world")
        }

    同时执行了两个请求,上面这个先执行,后面在执行一个不同的请求,就会先等上面这个15秒的执行完了才会执行另一个不同的接口。

    3、然后修改主程序

    1)增加gevent

    2)启动的时候开启多线程 

    nohup python manage.py runserver -d -r -h 0.0.0.0 -p 9527 --threaded &
  • 相关阅读:
    迁移
    zendframework 2 链接数据库
    zendframework 2
    merge sort and quick sort 自己去理解吧
    ubuntu git 使用
    resumablejs 分块上传 断点续传
    video.js html5 视频播放器
    swfupload 例子
    php 润年 星期 天数
    ubuntu 安装 axel
  • 原文地址:https://www.cnblogs.com/bill2014/p/12905546.html
Copyright © 2011-2022 走看看