所以我正在制作一個大型社交媒體應用程式,但我有一個選擇flask或express.js的框架的問題,我非常喜歡flask,但它無法處理太多的請求。Express.js 每秒可以處理大約 25k 個請求(谷歌)。那么是否有辦法讓燒瓶每秒使用 gunicorn 處理 25k 個請求,目前我正在使用這個命令$ gunicorn -w 4 -b 0.0.0.0:5000 your_project:app,但它一次只能處理 4 個請求。還有一個問題可以燒瓶一次處理 100 萬用戶。我應該選擇 express.js,因為它可以處理 25k 請求
uj5u.com熱心網友回復:
您可以使用多執行緒或 gevent 來增加 gunicorn 的并發性。
Option1 多執行緒
例如:
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 個請求
Option2 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 個請求。
更多資訊可以參考我的博文:https ://easydevguide.com/posts/gunicorn_concurrency
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/459293.html
上一篇:sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError)不能適應型別'Row'
