我有一台CentOS 7服务器,在特定时间使用crontab运行多个Node脚本
脚本应该在退出之前发出一些web请求。它在我的本地机器(运行Mac OS X)上始终运行良好。
然而,在服务器上,有时节点脚本似乎在web请求周围停滞,什么都没有发生,从而留下进程并占用服务器上的内存。由于脚本在我的机器上运行,我猜服务器上出现了一些问题。我查看了netstat -tnp
,发现停滞的PID使连接处于ESTABLISHED
状态,并且没有发送或接收任何数据。连接是这样留下的。
tcp 0 0 x.x.x.x:39448 x.x.x.x:443 ESTABLISHED 17143/node
它发生在不同的端口、不同的PID、不同的脚本和不同的IP地址上。
我的猜测是,脚本暂停是因为节点正在等待某个I/O操作(请求)完成,但我找不出发生这种情况的任何原因。是否有其他人在节点随意打开连接时遇到问题?
这个问题显然与任何操作系统或节点设置无关。我们的服务器提供商对他们的网络进行了更改,这导致路由器和服务器之间的巨大数据包丢失。他们为我们恢复了更改,现在它又起作用了。