如何使烧瓶每秒处理 25k 个请求,如 express.js

How to make flask handle 25k request per second like express.js

所以我正在制作一个大型社交媒体应用程序,但我对选择哪个框架有问题 express.js 我非常喜欢 Flask,但它无法处理太多请求。 Express.js 每秒可以处理大约 25k 个请求 (google)。那么无论如何使用gunicorn使烧瓶每秒处理25k请求目前我正在使用这个命令$ gunicorn -w 4 -b 0.0.0.0:5000 your_project:app但它一次只能处理4个请求。还有一个问题可以让 Flask 一次处理 100 万用户。我应该选择 express.js 因为它可以处理 25k 请求

可以使用多线程或者gevent来提高gunicorn的并发度

选项 1 多线程

例如:

gunicorn -w 4 --threads 100 -b 0.0.0.0:5000 your_project:app

--threads 100表示每个进程100个线程。

-w 4表示4个进程,所以-w 4 --threads 100表示一次400个请求

选项 2 gevent worker

例如:

pip install gevent
gunicorn -w 4 -k gevent --worker-connections 1000 -b 0.0.0.0:5000 your_project:app

-k gevent --worker-connections 1000 表示每个 gevent 工作进程有 1000 个协程。

-w 4表示4个进程,所以-w 4 -k gevent --worker-connections 1000表示一次4000个请求。

更多信息可以参考我的博客post:https://easydevguide.com/posts/gunicorn_concurrency