Apache MINA连接数性能提高
2013-07-31 18:31
169 查看
在使用mina的时候,我使用的xp系统,想测试一下mina到底支持多少长连接.但是奇怪的是每次最多支持到415个左右.
这样和网上说的mina的性能完全不符.经过研究,应该是操作系统的原因.后来修改了两个注册表连接数可以达到4000多.
下面是修改方法:
本错误密切相关的两个windows的注册表项:TcpTimedWaitDelay和MaxUserPort的值.
TcpTimedWaitDelay 确定 TCP/IP 可释放已关闭连接并重用其资源前, 必须经过的时间. 关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态. 此时间期间, 重新打开到客户机和服务器的连接的成本少于建立新连接. 减少此条目的值允许 TCP/IP 更快地释放已关闭的连接, 为新连接提供更多资源.
MaxUserPort 确定从系统请求任何可用用户端口时所用最大端口数,TCP/IP 可指定的最高端口号. 如果建立 TCP 连接最大端口连接大于 5000, 本地计算机响应以下错误信息WSAENOBUFS (10055): 因为系统缺乏足够缓冲区或者因为队列已满而无法执行套接字上操作, 从而导致应用程序的10048错误.
打开注册表编辑器regedit
TcpTimedWaitDelay 设置:
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 TcpTimedWaitDelay 的新 REG_DWORD 值
设置此值为十进制 30, 十六进制为 0×0000001e
该值等待时间将是 30 秒。
本项的默认值:0xF0(16进制), 等待时间设置为 240 秒
MaxUserPort 设置(增加最大值端口连接):
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 MaxUserPort 的新 REG_DWORD 值
设置此值为十进制最低 32768
该值等待时间将是 30 秒。
重启windows系统。
本项的默认值:5000(十进制)
关闭注册表编辑器, 重启windows系统。
其实主要是操作系统限制了tcp连接的数量导致的,mina的连接都是底层的tcp协议通信.分享出来和大家共同学习.
这样和网上说的mina的性能完全不符.经过研究,应该是操作系统的原因.后来修改了两个注册表连接数可以达到4000多.
下面是修改方法:
增加windows最大TCP连接随机端口数
系统默认TCP随机端口范围为:1024-5000本错误密切相关的两个windows的注册表项:TcpTimedWaitDelay和MaxUserPort的值.
TcpTimedWaitDelay 确定 TCP/IP 可释放已关闭连接并重用其资源前, 必须经过的时间. 关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态. 此时间期间, 重新打开到客户机和服务器的连接的成本少于建立新连接. 减少此条目的值允许 TCP/IP 更快地释放已关闭的连接, 为新连接提供更多资源.
MaxUserPort 确定从系统请求任何可用用户端口时所用最大端口数,TCP/IP 可指定的最高端口号. 如果建立 TCP 连接最大端口连接大于 5000, 本地计算机响应以下错误信息WSAENOBUFS (10055): 因为系统缺乏足够缓冲区或者因为队列已满而无法执行套接字上操作, 从而导致应用程序的10048错误.
打开注册表编辑器regedit
TcpTimedWaitDelay 设置:
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 TcpTimedWaitDelay 的新 REG_DWORD 值
设置此值为十进制 30, 十六进制为 0×0000001e
该值等待时间将是 30 秒。
本项的默认值:0xF0(16进制), 等待时间设置为 240 秒
MaxUserPort 设置(增加最大值端口连接):
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 MaxUserPort 的新 REG_DWORD 值
设置此值为十进制最低 32768
该值等待时间将是 30 秒。
重启windows系统。
本项的默认值:5000(十进制)
关闭注册表编辑器, 重启windows系统。
其实主要是操作系统限制了tcp连接的数量导致的,mina的连接都是底层的tcp协议通信.分享出来和大家共同学习.
相关文章推荐
- Apache MINA连接数性能提高
- 让Django支持数据库长连接(可以提高不少性能哦)
- 使用 libevent 和 libev 提高网络应用性能——管理多个 UNIX 网络连接
- 提高js字符串连接的性能
- 提高abap数据访问性能的几篇文章的连接
- Oracle多表连接,提高效率,性能优化 (转)
- 连接模式:提高数据库性能的捷径
- 提高HTTP的连接性能
- 连接模式,提高数据库性能的捷径
- 提高abap数据访问性能的几篇文章的连接
- 提高abap数据访问性能的几篇文章的连接
- 提高abap数据访问性能的几篇文章的连接
- 提高abap数据访问性能的几篇文章的连接
- 不要使用连接来合并多个字符串,应该使用StringBuilder来提高性能
- 提高abap数据访问性能的几篇文章的连接
- oracle技术之提高短连接性能方法测试
- MSSQL - SqlDataAdapter连接数据库提高性能用法