nginx反向代理webman偶尔会出现
出现的很有规律。猜测跟monitor关闭内存超出的子进程有关。怎么解决。不应该先取消处理,再关闭进程吗?
if (preg_match('/VmRSS\s*?:\s*?(\d+?)\s*?kB/', $status, $match)) {
$mem = $match[1];
}
$mem = (int) ($mem / 1024);
if ($mem >= $memoryLimit) {
posix_kill($pid, SIGINT);
}
recv() failed (104: Connection reset by peer) while reading response header from upstream,
webman v1.6.14 / workerman v5.0.0
linux php 安装 php8.3 event扩展
Connection reset by peer 一般是进程退出导致,从提供的信息中看不出来是哪里导致的退出,可以先把monitor关闭试下。
进程收到重启信号会先处理业务,然后才关闭。但是有一些极端情况,例如业务执行慢,被强制推退出。进程当前没有处理请求,但是退出的时候刚好有请求发给当前进程。这些都会导致 Connection reset by peer
感谢。后面把内存限制提高,就没有了。之前设置太低触发关闭频率太高了。