Ink-Osier / PandoraToV1Api

站在巨人的肩膀上的项目,感谢zhile大佬的Pandora-Next项目
517 stars 106 forks source link

服务部署在K8s上会出现一定几率的假死状态,且有一定几率无法恢复 #30

Closed biek12 closed 6 months ago

biek12 commented 6 months ago

服务部署在K8s上会出现一定几率的假死状态,且有一定几率无法恢复 主要现象为:服务A请求到PandoraToApi后,PandoraToApi并未收到请求,服务A过一会儿抛出超时,这种情况有没有办法设置一下呢? 另外,服务跑起来内存可能无法回收,会越来越高

biek12 commented 6 months ago
image image

我查了一下,大哥可否在Dockerfile变量里增加变量,然后再在脚本里面这样填充呢

biek12 commented 6 months ago

刚刚查到的这样的一句话:_在使用Docker容器运行Flask应用时,我们通常会使用gunicorn作为应用的WSGI服务器。然而,在某些情况下,我们可能会遇到一个问题:当我们在Docker中启动Flask应用时,应用会卡死,无法正常响应请求。

这个问题一般是由于gunicorn服务器的工作原理与Docker容器的运行机制不完全兼容所致。在默认情况下,gunicorn会使用多个进程来处理请求,但是由于Docker容器中进程的限制,这可能会导致进程间通信的问题,进而导致应用卡死。_

所以我在想能否增加设置变量的性质,在docker环境中设置单进程模式

Ink-Osier commented 6 months ago

主要是想控制开启的进程线程数量么,这个之前也有计划增加环境变量控制,等下个版本我加上去吧~

biek12 commented 6 months ago

是的,因为我查了一下,多进程模式下,Docker环境中gunicorn会出现假死超时,所以增加了这个想法

Ink-Osier commented 6 months ago

之前也有小伙伴在配置较差的服务器跑不起来项目的情况,就有计划了,不过后边在解决各种bug就搁置了

Ink-Osier commented 6 months ago

是的,因为我查了一下,多进程模式下,Docker环境中gunicorn会出现假死超时,所以增加了这个想法

可以,下个版本会加上的

biek12 commented 6 months ago

我看看我能不能提一个PR进来,你合并一下呢

Ink-Osier commented 6 months ago

如果你可以做成环境变量控制的话是可以的

Ink-Osier commented 6 months ago

暂时不想写死这两个参数

Ink-Osier commented 6 months ago

已合并pr并更新至最新版本,感谢大佬的贡献~