免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖

怎么通过重新编译内核让linux能承受10万个TCP连接呢? [复制链接]

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2005-10-07 09:01 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

原帖由 "xiyang" 发表:


这样的说法是没有根据的

因为server是被动打开的。
譬如说他在80listen。客户端一般是随机的分配1024-65535之间的端口来建立连接的。
  

想起来了. 兄弟说得对.

不过, 又想起一件事, Linux(2.4 kernel )支持的process 最大为 32000. 看来过10W还是有难度呀.

论坛徽章:
0
发表于 2005-10-07 09:32 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

还有Memory也有问题。

论坛徽章:
0
发表于 2005-10-07 16:12 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

多设几个ip,然后,作个dns集群。

论坛徽章:
0
发表于 2005-10-07 16:43 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

算算内存的消耗量。每个TCP连接控制信息可能要100BYTE,消耗10Wx100=10M,还有更大的发送接受缓冲区,一般一个TCP连接要4096x2=8192BYTE这是现代OS中差不多是最少的了,一般是8192x2
消耗10Wx8K=800M,可以认为维护这些TCP连接要消耗1G内存,这些都是核心内存,所以在4G的32位的X86空间里要分给核心可能要2G空间,我在FREEBSD里看到有如何给内核划分空间的,我不知LINUX是如何安排的。FREEBSD要一个选项定义核心的开始地址;还有就是要定义TCP发送接受缓冲区的默认直,还要考虑每个进程最多支持的打开文件数来确定服务进程的数量,这是我想当然的算法,但PC能否支持如此大的连接?

论坛徽章:
0
发表于 2005-10-08 09:36 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

try google c10k

论坛徽章:
0
发表于 2005-10-08 13:29 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

linux本身承受这样的连接数是没有问题的……
在性能方便更重要的还是看硬件
CPU,内存,总线……

论坛徽章:
0
发表于 2005-10-08 16:01 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

虽然客户端一般是随机的分配1024-65535之间的端口来建立连接的。但是还是可以通过修改内核代码让它支持更多的连接,我只是知道有人这么做过,如果能超过十万更好,我发这个帖子只是想知道一个方法,怎么能让linux能支持更多的连接,不然linux的开源相对win平台还有什么优势.

论坛徽章:
0
发表于 2005-10-08 16:03 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

[quote]原帖由 "尘归尘土归土"]不然linux的开源相对win平台还有什么优势[/quote 发表:

开源 不等于 万能

论坛徽章:
0
发表于 2005-10-08 20:48 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

客户端要如此多的连接有和现实意义?
有人做过?不可能吧,看看tcp.h的TCP结构说明吧,16bit端口长度最大也就是65536。

增加N个网卡或IP吧,这样从理论上就可以有N x 65536个客户端连接了

论坛徽章:
0
发表于 2005-10-11 15:15 |显示全部楼层

怎么通过重新编译内核让linux能承受10万个TCP连接呢?

当然有现实意义了,支撑的连接数多的话可以少花钱买几台机器啊.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP