Tencent/nohost

服务部署一段时间后出现 Error: socket hang up

zhoujingang opened this issue · 18 comments

nohost 部署后,抓包界面每隔一段时间出现这个问题。

系统环境:16核32G
node 版本: v14.16.1

image
avwo commented

cpu 和 内存正常吗,抓包看下 overview 里面的 serverip

cpu 和内存明显高很多,这种状态下抓不了包,cgi/bin/get-data 接口都502了

@avwo 大佬,现在这个问题不好复现,能提供些排查思路吗

avwo commented

cgi-bin/get-data 本身不会返回 502,看看响应头 502 是哪个服务返回的

@avwo 大佬,我这两天在关键位置加了日志进行排查,发现用户使用密集的时候,这个进程就触发关闭了。

image

同时在这块监听了一下日志:

process.on('pforkError', (data) => {
          logger.info('调试点3_1_4:>>' + JSON.stringify(data))
 })

收集信息如下:
[2023-08-08 15:42:51] [info: 调试点3_1_4:>>{"script":"/export/App/lib/whistle.js","message":"unknown"}]

没有返回什么有效信息

avwo commented

估计进程等 cpu 爆了,pfork 有个心跳,超过一定时间没响应会自动 kill 掉进程,不要把所有请求集中在一个账号里面

这个进程30013端口,是启动 whistle.nohost 插件的那个进程,所有流量都要集中在这里

avwo commented

流量有多大,怎么启动的,有没有开启抓包功能

就是部署 nohost 源码启动的,启动方式 node ./bin/nohost.js start -o www.***.com

avwo commented

主进程有没有开启抓包功能

主进程抓包有没有开启,在哪块可以看呢,抓包都是在用户的进程下面,主进程的启动配置是按照源码来的

duyg commented

我也是这个情况。部署在团队内一个配置较低的 macmini 上。
稳定跑了半个月左右就开始 502 错误。重启服务没能解决。

你 macmini 系统详细配置多少?
多少人使用呢

duyg commented

i5 双核 16g。日常 10 人左右在用~
刚才重启了下机器还是 502。
不过又试了下抓百度是没问题的。
可能是我们自己网关做了什么限制。

avwo commented

如果部署在 80 或 443 端口,换成 8080 端口试试

如果部署在 80 或 443 端口,换成 8080 端口试试

大佬,这个和端口有啥关系吗,可否详细指点下😊

avwo commented

80、443端口会被扫描,导致出现很多不必要的请求压垮进程

duyg commented

80、443端口会被扫描,导致出现很多不必要的请求压垮进程

非常感谢。从 80 端口换成 8899 端口后可以正常访问服务了。