龙空技术网

单台服务器并发TCP连接数有多少?

显微镜下的火鸡 822

前言:

今天各位老铁们对“tcp最大连接数设置”都比较注意,姐妹们都需要剖析一些“tcp最大连接数设置”的相关知识。那么小编同时在网上搜集了一些对于“tcp最大连接数设置””的相关内容,希望我们能喜欢,你们一起来学习一下吧!

单台服务器并发TCP连接数有多少?

相信很多人会答60000多个。得出这个答案是因为人们认为操作系统从1024-65535是用户使用的。由于每个TCP连接都要占一个端口号,所以我们最多可以有60000多个并发连接。

一个TCP连接是如何确定的?

操作系统使用四元组确定一个TCP连接,四元组包括如下:

源地址——(32位)在IP头部中,作用是通过 IP 协议发送报文给对方主机源端口——(16 位)是在 TCP 头部中,作用是告诉 TCP 协议应该把报文发给哪个进程目的地址——(32位)在IP头部中,作用是通过 IP 协议发送报文给对方主机目的端口——(16 位)是在 TCP 头部中,作用是告诉 TCP 协议应该把报文发给哪个进程理想的服务器并发连接数

服务端通常固定在某个本地端口上监听,等待客户端的连接请求。

因此,客户端IP和端口是可变的,其理论值计算公式为:

TCP连接数=客户端IP数*客户端端口数。

对于IPv4,客户端的IP数最多为2的32次方,客户端的端口数最多为2的16次方,也就是服务端单机最大TCP连接数,约为2的48次方。

但2的48次方也是理论中的值,实际情况还受以下因素影响(以linux为例):

文件描述符

在Linux中,每个TCP连接都是一个文件,如果文件描述符被占满了,会发生Can't open so many files。内存限制

每个TCP连接都要占用一定内存,操作系统的内存是有限的,如果内存资源被占满后,会发生OOM。

标签: #tcp最大连接数设置