美文网首页
uwsgi的一些奇怪问题

uwsgi的一些奇怪问题

作者: 十五倍压枪 | 来源:发表于2018-08-30 13:53 被阅读29次

    问题背景

    使用uwsgi部署flask应用时遇到几个奇怪的问题,找到了解决办法却暂时不知道原因,等待后续有时间排查,先记录解决办法

    问题答案

    Q.uwsgi部署flask应用,接收请求速度非常慢
    接收请求(receive request)这个步骤,讲道理来说应该不可能成为性能瓶颈,但是我在日志记录中发现耗时达到了可怕的1s甚至2s,在工程中是以post传参的,由于项目的特殊原因所以post的参数长度相当之长,字符串长度将近2000.猜测是否可能是因为这个原因,事实上确实如果传的参数短一点就不会耗时这么久。但是传参的长度是我无法改变的,所以必须要找到解决办法
    A.通过nginx转发请求后发现获取传参的效率正常了,猜测可能是uwsgi的解析bug,而经过nginx封装后的包uwsgi解析起来就不会有问题。后续继续排查

    Q.uwsgi部署flask应用,压测时请求全部无响应
    使用java的httpclient编写的压测工具进行压测,发现结果非常奇怪,有一半的请求是无响应的,每次都是刚好总请求数的一半。直接使用curl工具post方式请求是能得到正常结果的,请求数较少的情况下也会出现,排除是因为高并发出现的情况。
    A.也是通过nginx转发请求后正常了,猜测uwsgi在解包封包上和常用的java系列工具有区别,导致无法正常解包封包。

    Q.为了提高性能,加gevent=100参数报错
    在uwsgi.ini中加上gevent参数报错,无法正常启动服务。
    A.其实gevent不是固有参数,需要通过pip去安装gevent依赖

    相关文章

      网友评论

          本文标题:uwsgi的一些奇怪问题

          本文链接:https://www.haomeiwen.com/subject/ycyrwftx.html