我们有一个flask应用程序,用于ML模型,该应用程序占用大量内存,我正尝试通过使用gunicorn的preload
选项来减少内存占用,但是当我添加--preload
标志时,并将其部署(使用-w 4
到在GKE上运行的docker容器),它将处理仅几个请求,然后挂起直到超时,这时gunicorn将开始另一个工作人员替换它,并且相同事情会发生的。尚不清楚每个工作者在挂起之前将处理多少个请求(可能只有1个……可能是几个)
超时超过10分钟,因此似乎无限期挂起。
如果我删除--preload
标志,这根本不会发生。
关于--preload
标志有什么可能导致工人无限期地吊死?