一尘不染

如何在多线程模式下使用Gunicorn运行Flask

flask

我有用Flask编写的Web应用程序。正如每个人的建议,我不能在生产中使用Flask。所以我想到了带有Flask的Gunicorn。

在Flask应用程序中,我正在加载一些机器学习模型。这些总大小为8GB。我的Web应用程序的并发性可以达到1000个请求。并且机器的RAM是15GB。
那么,运行此应用程序的最佳方法是什么?


阅读 1312

收藏
2020-04-05

共1个答案

一尘不染

你可以使用Gunicorn的多个工作人员或异步工作人员启动你的应用程序。

Flask server.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

与gevent异步工作者的Gunicorn

gunicorn server:app -k gevent --worker-connections 1000

Gunicorn 1个工作者12个线程:

gunicorn server:app -w 1 --threads 12

具有4个工人的Gunicorn(多重处理):

gunicorn server:app -w 4
2020-04-05