栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

一个Flask进程接收多少个并发请求?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个Flask进程接收多少个并发请求?

运行开发服务器时,你将运行

app.run()
,你将获得一个同步过程,这意味着一次最多处理1个请求。

通过在默认配置下将Gunicorn放在其前面并简单地增加的数量–

workers
,你得到的实际上是一些流程(由Gunicorn管理),每个流程的行为都类似于
app.run()
开发服务器。4个工作人员== 4个并发请求。这是因为
Gunicorn sync
默认使用其包含的工作程序类型。

重要的是要注意,Gunicorn还包含异步工作程序,即

eventlet
gevent
(以及
tornado
,但似乎最好与Tornado框架一起使用)。通过使用–
worker-class
标志指定这些异步工作程序之一,你将获得Gunicorn管理多个异步进程的信息,每个进程都管理自己的并发性。这些进程不使用线程,而是协程。基本上,在每个进程中,一次只能发生1件事(一个线程),但是当对象等待外部进程完成(例如数据库查询或等待网络I / O)时,它们可以被“暂停”。

这意味着,如果你使用的是Gunicorn的异步工作程序之一,则每个工作程序一次最多可以处理多个请求。多少工人才是最好的,取决于你的应用程序的性质,其环境,运行的硬件等。有关更多详细信息,请参见Gunicorn的设计页面,以及有关gevent的介绍页面的说明。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号