如何使烧瓶每秒处理 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
所以我正在制作一个大型社交媒体应用程序,但我对选择哪个框架有问题 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