模拟客户端测试java nio selector可管理的最大连接数。

最近在找工作,无聊,模拟客户端测试一下以前写的一个nio框架:
测试机器:Window xp sp3
一:客户端准备:
1.修改注册表:因为windows 默认只开通0-5000个端口,经测试最多可以连接3900多个并发连接--,(连接到一个服务时器的本地端口是有限的,也就只能是0到65535)。
1). 启动注册表编辑器。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
2). 新建
值名称:MaxUserPort
值类型: DWORD
值数据: 65534(用十进制的方法写进去就可以,如果是十六进制,是FFFE,因为4个F是65535嘛)
有效范围: 5000 - 65534 (十进制)
默认: 0x1388 5000 (十进制)
修改注册表后的测试结果:模拟客户端一台机器可以支持到16000多个客户端连接。


二。服务端准备:我需要一台大内存的服务器,支持100万个长连接,这个没办法弄到.
-->用自己机器测试结果:1万个长连接稳定快速运行。

1.服务端程序已经写好
2.linux /windows系统设置
总结:
1)Socket服务器接收连接数是有硬件限制的,因为它会消耗服务器CPU,内存,网络资源-->(理论上服务器器端接收连接是没有软限制的--因为服务器只用一个端口,也就只占内存,CPU),
2).服务器再牛也没办法,所以就有了服务器的分布式架构,通过它来分压,多台服务器,要是你想要连接数量很大的话只能这样了.要不你就让长久不通信的断开(短连接),释放资源,
3).或者采用UDP协议。

学习:Linux下socket高并发系统设置
-->http://www.29ma.cn/20130409/1008/
-->http://rdc.taobao.com/blog/cs/?p=1062
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值