为了账号安全,请及时绑定邮箱和手机立即绑定

gunicorn+gevent 怎么觉得未实现 flask 的真正并行。

gunicorn+gevent 怎么觉得未实现 flask 的真正并行。

MM们 2018-10-04 18:30:47
用 gunicorn 启动 flask 应用,worker_class 选择 gevent, worker 选择3.我构造了一种场景。3个url对应的3个应用中,都添加while 循环,一直不返回。curl 访问这3个url。命令卡住。curl 访问另外一个正常的 url, 发现这个也卡住了。看到网上说 gevent 可以实现并行,提高 flask的性能,但感觉并未真正实现并行。只是 gunicorn 多起了几个进程,但如果这几个进程都被占用,服务还是无法访问。有同学知道 gevent 怎么实现真正的 flask 应用的并行访问嘛?、
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

你在flask源码里打上monkey patch就行了。

查看完整回答
反对 回复 2018-10-21
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

gevent没用过。但是看介绍(以及名字)是async io的东东。这世界上有两种程序,一个是叫作CPU bound的。一个是叫作IO bound的。Async IO只对后者有效。而你的试验用了while loop。恰恰是CPU bound的。因此可以预见gevent没有起作用。需要另外设计实验。

查看完整回答
反对 回复 2018-10-21
  • 2 回答
  • 0 关注
  • 1901 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信