【发布时间】:2017-09-14 00:08:19
【问题描述】:
我有一个 Flask 应用程序,由 Nginx 和 Gunicorn 提供服务,有 3 个工作人员。我的 Flask 应用程序是一个 API 微服务,专为进行 NLP 工作而设计,我正在使用 spaCy 库。
我的问题是他们正在占用大量 RAM,因为加载 spaCy 管道spacy.load('en') 非常占用内存,并且由于我有 3 个 gunicorn 工人,每个人将占用大约 400MB 的 RAM。
我的问题是,有没有办法一次性加载管道并在我所有的 gunicorn 工人之间共享?
【问题讨论】:
-
也许你可以使用 gunicorn 的
preload_app。见stackoverflow.com/a/27242874/7724457 -
你找到解决办法了吗?
-
@Lee,你在这方面有什么发现吗?
-
你如何使用你的gunicorn worker,即线程或进程?如果进程可以使用redis吗?
-
这个问题几乎是我发的。我有完全相同的设置!