怎么部署 flask 能达到最大的性能?
有个需求,就是通过建立一个开放平台,提供 restful 给第三方使用的api。想到给第三方的应用,也就是http协议的请求。就使用 python 的web框架 flask 做url路由。
部署的时候采取了简单的 nginx + uwsgi + flask 的方式。请问各位,这样的部署flask app 的性能如何,能支持多少的并发?
换成 gevent 和 tornado 会不会好一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我选择
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还是占有很大的优势
flask可以和gevent共用的,并发会好很多。
用gevent monkey patch,可以尽可能少的修改当前代码。
nginx + uWSGI + flask