服务器单个端口(socket)最大并发连接数
- 2024-11-14 08:30:00
- admin 原创
- 27
问题描述:
最多可以有多少个并发客户端(使用不同的端口号)能够通过同一端口(单个套接字)与服务器通信?哪些因素会影响这个数量?我正在寻找有关 Linux 环境中的 telnet 的信息。
解决方案 1:
这在一定程度上取决于您的操作系统。
但是,特定端口没有限制。但并发连接数有限制,通常受内核支持的文件描述符数限制(例如 2048)。
要记住的是,TCP 连接是唯一的,并且一个连接是一对端点(本地和远程 IP 地址和端口),因此即使 1000 个连接连接到服务器上的同一个端口也没有关系,因为这些连接仍然是唯一的,因为另一端是不同的。
需要注意的另一个限制是,一台机器只能建立大约 64K 个出站连接或内核的连接限制,以较低者为准。这是因为端口是一个无符号的 16 位数字(0-65535),每个出站连接都使用其中一个端口。
您可以通过为机器提供额外的 IP 地址来扩展此功能。每个 IP 地址都是另一个 64K 地址的地址空间。
解决方案 2:
比你关心的还多。或者说。
超出了你的代码实际可以处理的范围(由于其他原因)
比你的客户实际赚的还多
由于性能原因,单个盒子无法处理太多问题
单个盒子上所需的数量超过您的需要,因为无论如何,出于可用性原因,您的负载平衡器都会将它们分配给多个盒子。
我可以保证它比所有这些都多。大量套接字存在可扩展性限制,这可以解决(谷歌搜索 c10k 问题)。实际上,在 Linux 下,单个进程可以使用超过 10,000 个套接字。如果每个服务器有多个进程,则可以再次增加该数量。
没有必要使用单个端口,因为您的专用负载均衡器将能够在需要时循环使用多个端口。
如果您正在为数十或数千个客户端进程运行服务,那么保持服务正常运行可能非常重要,因此无论如何您都需要多台服务器来实现冗余。因此,部署多台服务器不会有问题。
解决方案 3:
我在 Windows 上进行了测试,在单个套接字上建立了多个环回连接。Windows 拒绝在 16372 标记之后分配任何内容。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件