首页 > 怎么部署 flask 能达到最大的性能?

怎么部署 flask 能达到最大的性能?

有个需求,就是通过建立一个开放平台,提供 restful 给第三方使用的api。想到给第三方的应用,也就是http协议的请求。就使用 python 的web框架 flask 做url路由。

部署的时候采取了简单的 nginx + uwsgi + flask 的方式。请问各位,这样的部署flask app 的性能如何,能支持多少的并发?

换成 gevent 和 tornado 会不会好一点?


我选择

Nginx + Gunicorn(with gevent) + Flask

Gunicorn(with gevent)性能和uwsgi差不多,但是纯Python,部署方便,也不需要编译uwsgi。Nginx这里只是反代+server静态文件,不做其他工作,完全由Gunicorn也可以起服务

配置可以参考: https://github.com/pythoncn/june/tree/master/etc

一个测试结果:https://ivan-site.com/2012/10/gevent-gunicorn-vs-uwsgi/


http://www.techempower.com/benchmarks/#section=data-r8&hw=i7&test=json 这是一个各种web框架压力测试的对比,你可以看一下,针对不同的场景,各个框架的表现不同,一般网站业务来看,flask基本和tornado 相差不了多少,在实时性强的业务中 tornado还是占有很大的优势


nginx + uWSGI + flask


flask可以和gevent共用的,并发会好很多。
用gevent monkey patch,可以尽可能少的修改当前代码。

【热门文章】
【热门文章】