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

我有用Flask编写的Web应用程序.正如大家所说,我不能在生产中使用Flask.所以我想到了带有Flask的Gunicorn.

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

解决方法:

您可以使用Gunicorn与多名工作人员或异步工作人员一起启动您的应用程序.

Flask server.py

from flask import Flask
app = Flask(__name__)

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

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

Gunicorn与gevent异步工作者

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

Gunicorn 1工作人员12个主题:

gunicorn server:app -w 1 --threads 12

Gunicorn有4名工人(多处理):

gunicorn server:app -w 4

有关Flask并发性的更多信息,请参阅此文章:How many concurrent requests does a single Flask process receive?.

上一篇:python – 在Gunicorn / Flask应用程序中的进程之间共享静态全局数据


下一篇:子路径上有多个Django Project Nginx