python - 怎么部署 flask 能达到最大的性能?
PHP中文网
PHP中文网 2017-04-17 12:07:32
[Python讨论组]

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

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

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
天蓬老师

我选择

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/

PHP中文网

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

PHP中文网

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

迷茫

nginx + uWSGI + flask

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号