socket - 活动套接字的最大限制

时间:2015-08-03 06:08:25

标签: linux node.js sockets

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

1 个答案:

答案 0 :(得分:2)

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

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

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

理论上,您可以使用文件描述符填充服务器RAM而不会出现问题。实际上,建立连接以交换数据。所以真正的瓶颈通常是带宽。