node.js - Node.js UDP 连接太多
问题描述
我正在运行一个 node/express 应用程序,几个小时后它一直随机死机。
该进程始终处于启动状态,没有日志或 CPU/内存峰值,甚至没有太多利用率,但该进程不再提供任何请求。
我怀疑是该进程有太多活动的 UDP 连接:lsof -i -a -p X | wc -l
当我 ssh 进入运行节点进程的 docker-container 时,计算了 9k+ 网络连接,98% 的 UDP 如下所示:
node 6 root 223u IPv4 614173 0t0 UDP *:63025
node 6 root 224u IPv4 324249 0t0 UDP *:34622
node 6 root 225u IPv4 415898 0t0 UDP *:44176
#connections 以每分钟恰好 10 个新连接的速度增长。
我的应用程序中唯一与 UDP 相关的功能是https://github.com/sazze/winston-logstash-udp
细节:
- AWS ec2 t2.medium 上 Docker 中的节点 v6.12.3
- 从
debian:wheezy
Docker 基础镜像迁移到node:6.14.2-alpine
.
问题:
- 如何进一步调试每个 UDP 连接?例如目标、持续时间……这将有助于找到潜在的问题。
- 节点的连接限制是多少?我读过4096。
- 这个问题在debian下没有出现,可能有什么不同?
解决方案
推荐阅读
- powershell - Powershell,在文本文件中逐行替换字符串
- xml - 如何在 Odoo 11 的日历视图中显示自己的看板卡?
- c++ - 对于 qml 客户端,从 C++ 注册 QtWayland 失败
- vb.net - 应用于 edmx 实体数据模型时,LINQ 中的自联接失败
- sql - posts_orderby 不显示帖子
- angular - Ag-Grid 未在 Internet Explorer 版本 10 中加载
- powershell - 如何使用 Powershell 以不同用户身份运行命令?
- stored-procedures - 收到有关更改架构的 SQL 存储过程错误,但没有发生任何更改
- windows - 通过 RDP 使用命令行从远程 Windows 机器复制文件
- python - 在Sqlalchemy中加载继承并在联合上应用order_by时如何仅过滤一个子类