小编pma*_*ezz的帖子

node.js 服务器泄漏 TCP 连接?

注意:请参阅帖子末尾的我的编辑。

我有一个 node.js (Express) 服务器,每秒处理大约 15-30 个请求。我正在提供一堆简单的 JADE 模板和一个 Durandal SPA 应用程序,其中大部分请求都是针对简单 JADE 模板的。几分钟后一切正常,但是服务器在一段时间后开始出现 EMFILE 错误并最终崩溃。经过一番故障排除后,我发现lsof -i -n -P | grep node一段时间后的输出包含大量此类行:

node    8800 my_user   13u  IPv4 906628      0t0  TCP 172.x.x.x:3000->x.x.x.x:44654 (ESTABLISHED)
node    8800 my_user   14u  IPv4 908407      0t0  TCP 172.x.x.x:3000->x.x.x.x:13432 (ESTABLISHED)
node    8800 my_user   15u  IPv4 908409      0t0  TCP 172.x.x.x:3000->x.x.x.x:38814 (ESTABLISHED)
node    8800 my_user   19u  IPv4 906622      0t0  TCP 172.x.x.x:3000->x.x.x.x:56743 (ESTABLISHED)
node    8800 my_user   20u  IPv4 907221      0t0  TCP 172.x.x.x:3000->x.x.x.x:46897 (ESTABLISHED)
...
Run Code Online (Sandbox Code Playgroud)

我是 node.js 的初学者,但它似乎无法解除已完成的连接,最终导致 EMFILE 和崩溃。 …

javascript tcp node.js express mimosa

5
推荐指数
1
解决办法
1672
查看次数

标签 统计

express ×1

javascript ×1

mimosa ×1

node.js ×1

tcp ×1