linux 多网卡并发,Linux服务器的最大并发数是多少?你该了解一下了!

7b4c318afcdb786f83559e5bf7e4adb4.png

Linux服务器的最大并发数是多少?这个问题抛开硬件的性能问题,需要我们去通过操纵系统的原理层面去分析,才能得出正确的结论。

从ip地址到端口号再到TCP/IP原理,这些常识需要你具备。

连接的最大值只是在理论层面上。

服务器最大并发数分析

在服务器连接中,需要双方的ip地址、端口号和协议号,见下图。

dde2e906c3d95e1a2ee5089436affc4e.png

这样的话,就可以基本认为:理论最大并发数 = 服务端唯一五元组数。

3.2 端口&IP组合数

那么对于服务器来说,服务端唯一五元组数最大是多少呢?

有人说是65535,显然不是,但是之所以会有这类答案是因为当前Linux的端口号是2字节大小的short类型,总计2^16个端口,除去一些系统占用的端口,可用端口确实只剩下64000多了。

对于服务端本身来说,DestPort数量确实有限,假定有多张网卡,每个网卡绑定多个IP,服务端的Port端口数和IP数的组合类型也是有限的。

对于客户端来说,本身的端口和IP也是一样有限的,虽然这是个组合问题,但是数量还是有限的:

00996c266369643518f5fca510d60f6d.png

3.3 并发数理论极限

看了前面的端口&IP的组合数计算,好像并发数并不会特别大。

错了,是真的会很大。

分析一下,前面的计算都是针对单个服务器或者客户端的,但是实际上每个服务器会应对全网的所有客户端,那么从服务端看,源IP和源Port的数量是非常大的。

理论上服务端可以接受的客户端IP是2^32(按照IPv4计算),端口数是2^16,目前端口号仍然是16bit的,所有这个理论最大值是2^48,果然很大!

1e6bc8cb7c3ad799963dcfb8fc07a278.png

4. 客户端最大连接数

理解了服务器的最大并发数是2^48,那么客户端最多可以连接多少服务器呢?

17e9908dcee7d83a1ad6ab9afb8ce916.png

对于客户端来说,当然可以借助于多网卡多IP来增加连接能力,我们仍然假定客户端只有1张网卡1个IP,由于端口数的限制到2^16,再去掉系统占用的端口,剩下可用的差不多64000。

416aac4725cbe695d809c24c654dd356.png

也就是说,客户端虽然可以连接任意的目的IP和目的端口,但是客户端自身端口是有限的,所以客户端的理论最大连接数是2^16,含系统占用端口。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值