Tencent / nohost

基于 Whistle 实现的多账号多环境远程配置及抓包调试平台
https://nohost.pro
Other
1.42k stars 162 forks source link

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

Open zhoujingang opened 1 year ago

zhoujingang commented 1 year ago

nohost 部署后,抓包界面每隔一段时间出现这个问题。
系统环境:16核32G node 版本: v14.16.1

image
avwo commented 1 year ago

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

zhoujingang commented 1 year ago

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

zhoujingang commented 1 year ago

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

avwo commented 1 year ago

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

zhoujingang commented 1 year ago

@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 1 year ago

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

zhoujingang commented 1 year ago

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

avwo commented 1 year ago

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

zhoujingang commented 1 year ago

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

avwo commented 1 year ago

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

zhoujingang commented 1 year ago

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

duyg commented 1 year ago

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

zhoujingang commented 1 year ago

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

duyg commented 1 year ago

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

avwo commented 1 year ago

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

zhoujingang commented 1 year ago

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

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

avwo commented 1 year ago

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

duyg commented 1 year ago

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

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