我有一个大的只读数据结构(在networkx中加载的图形,虽然这不应该很重要),我在我的Web服务中使用.Web服务是在Flask中构建的,然后通过Gunicorn提供服务.事实证明,对于我旋转的每个枪支工作者来说,这个工作都拥有我自己的数据结构副本.因此,当我有8个运行时,我的~700mb数据结构可以完全由一个工人管理,变成了一个非常大的内存.有没有什么方法可以在gunicorn进程之间共享这个数据结构,所以我不必浪费那么多内存?
我有一个Flask应用程序,由Nginx和Gunicorn和3名工人一起提供。我的Flask应用程序是一种API微服务,旨在处理NLP内容,而我正在使用spaCy库。
我的问题是,由于加载spaCy管道spacy.load('en')非常占用内存,因此他们占用了大量RAM,并且由于我有3个gunicorn工人,每个工人将占用约400MB的RAM。
我的问题是,是否有一种方法可以将管道加载一次并在我的所有枪业工人中共享?