你的linux,socket epoll连接数最大达到过多少

在去年的2个面试中被问及用过epoll吗? 这个肯定没啥说的,不说多精通,但也是熟练;

但又被问 你实现过的最大并发连接数是多少?   --  这个。。 还真没概念,产品和项目里也没很大的并发连接要求,所以,不知道


郁闷,那就自己排解一下!开干。。。

把自己的epoll例子代码找出来,稍微调整一下,编译,开始:

./server 12345 和 ./client ,才连接了1018个;


调整最大打开文件句柄数1024000,调整端口默认范围1024 65535  (只是为了大约估算,有些数值设定没啥具体意义)

ifconfig eth0:X  192.168.1.XXX     看了看局域网内ping不通的ip,增加虚拟ip(一共增加了大约15个)

让客户端bind每个ip,从1111 开始递增,50000个端口 -- 每个客户端建立5万个连接


我没有调整tcp-mem,因为我看他默认的1002624页,1002624*4/1024k ≈ 3.9G (我本机8G,客户端和服务端都在本机,所以不用也不能调整了)


最后服务端打印,我看到的最后一个连接数统计是 696167,再然后。。。duang


系统崩溃了,内存用光光了!



好,以后再有人问我这个问题,70万!!!

 ---  centos 6.7  8G内存, 一个epoll服务端,15个客户端(通过增加虚拟IP,每个客户端5万个连接),能支持的并发连接数是接近70万

 (当然,调小tcp_rmem tcp_wmem,并发数可能还能继续提高点)

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值