首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

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

2013-07-01 
模拟客户端测试java nio selector可管理的最大连接数。最近在找工作,无聊,模拟客户端测试一下以前写的一个n

模拟客户端测试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

热点排行