python flask 并发_flask如何处理并发

本文介绍了在Flask应用中处理并发的几种方式,包括使用 werkzeug 的 run_simple 函数进行多进程或多线程设置,通过 gunicorn 实现多进程并发,以及利用 gevent 进行异步处理。Gunicorn 的异步工作模式允许每个进程处理多个请求,提供更高的并发性能。选择最佳方案需考虑应用特性、运行环境及硬件资源。
摘要由CSDN通过智能技术生成

1、使用自身服务器的多进程或者多线程,参考werkzeug的run_simple函数的入参。注意,进程和线程不能同时开启

2、使用gunicorn使用多进程,-w worker 进程数,类型于运行多个app.run()开发服务器

gunicorn app -w 2 -b :8000

3、使用gevent异步

/usr/local/bin/gunicorn -t120 -w10  -b 10.57.17.57:3000 --worker-class gevent  Erebus:APP

-k STRING, --worker-class STRING

The type of workers to use. [sync]

-w INT, --workers INT

The number of worker processes for handling requests.

[1]

-t INT, --timeout INT

Workers silent for more than this many seconds are

killed and restarted. [30]

-b ADDRESS, --bind ADDRESS

The socket to bind. [['127.0.0.1:8000']]

当运行开发服务器时,运行app.run(),你会得到一个单一的同步进程,这意味着一次最多只能处理1个请求。

通过在其默认配置中坚持Gunicorn在它的前面,只是增加 – 工作,你获得的本质上是一些进程(由Gunicorn管理),每个行为像app.run()开发服务器。 4个worker == 4个并发请求。这是因为Gunicorn默认使用它包含

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值