我有用 Flask 编写的网络应用程序。正如大家所建议的,我不能在生产中使用 Flask。所以我想到了枪与烧瓶.
在 Flask 应用程序中,我正在加载一些机器学习模型。它们的总大小为 8GB。我的 Web 应用程序的并发性可以达到1000 个请求。机器的RAM是15GB。
那么运行这个应用程序的最佳方式是什么?
您可以使用多个工作线程启动应用程序,也可以使用 Gunicorn 启动异步工作线程。
Flask 服务器.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 并发的更多信息,请参见这篇文章:单个 Flask 进程会收到多少个并发请求? https://stackoverflow.com/questions/10938360/how-many-concurrent-requests-does-a-single-flask-process-receive.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)