【问题标题】:socket - maximum limit of active socketssocket - 活动套接字的最大限制
【发布时间】:2015-08-03 06:08:25
【问题描述】:

我正在使用 node.js 和 ws(一个套接字库)来处理套接字。
我读过this link 声称任何VPS 机器每个端口最多可以有64K 客户端。 现在的问题是,我的 linux VPS 上可以有多少个活动套接字?
linux VPS 可以处理多少个打开的套接字有理论上的限制吗?
什么是瓶颈?是内存吗?还是带宽?

【问题讨论】:

  • 什么是“活动套接字”?我们这里说的是客户端还是服务器?

标签: linux node.js sockets


【解决方案1】:

当计算机 A 连接到 B 时,两者都需要分配一个套接字。当服务器接受连接时,它会将客户端 IP 地址和端口复制到新连接中。这意味着现在下一个客户端可以连接到同一个套接字上。您需要服务器上有一个文件描述符来执行此操作,因此限制是每个进程的文件描述符数量,您可以使用ulimit 命令检查。

客户端需要一个套接字来启动连接。每个套接字由一个 16 位整数标识。这意味着您在客户端最多可以拥有 64K 个套接字。

由于服务器套接字在连接建立后“释放”,它可以接受超过64K的连接。

理论上,您可以毫无问题地用文件描述符填充服务器 RAM。在实践中,建立连接以交换数据。所以真正的瓶颈通常是带宽。

【讨论】:

  • 非常感谢您的出色回答,非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 2017-03-06
相关资源
最近更新 更多