开发者社区> 问答> 正文

Linux服务器进行性能优化中,Linux 到底最大支持多少并发连接

Linux服务器进行性能优化中,Linux 到底最大支持多少并发连接

展开
收起
我是小美女 2021-11-04 14:27:23 1486 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,Linux 通过五元组来区分一个连接:协议、源 IP 地址、目的 IP 地址、源端口、目的端口。

    对客户端来说,假设它要并发连接同一个服务,那就说明协议、源 IP 地址、目的 IP 地址和目的端口是固定的,唯一可变的是源端口。由于端口号是 16 位的,所以最大的并发连接数也就是 64K。

    除此之外还有没有其他的限制的呢?实际上,端口号并不是唯一的限制,内核协议栈中还有限制最大的并发连接数的配置:

    net.ipv4.ip_local_port_range 默认是从 32768 开始的
    net.ipv4.tcp_fin_timeout 上一次的连接并不是立刻释放的,还需要等待一段时间才会释放
    
    

    对服务器端来说,又是另一种情况。服务器主要是接受客户端请求,所以协议、目的 IP 地址和目的端口号是固定的,可变的就是客户端源 IP 地址和源端口号。这样,最大的并发连接数也就是可用 IP 地址数量 x 可用端口号数量,即 2^48(IPv6 还会更多)。

    跟客户端类似,除了五元组之外,内核协议栈还有很多因素会影响最大连接数。比如最大文件描述符数量、内存、Sokect 缓存、连接跟踪等等。

    2021-11-04 14:38:17
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载