Linux对外连接端口数限制-阿里云开发者社区

开发者社区> 技术小美> 正文

Linux对外连接端口数限制

简介:
+关注继续查看

这两天做压力测试,发现了一个问题,当模拟TCP client对外发起连接数达到28000左右时,开始大量抛如下异常:

    java.net.BindException: Cannot assign requested address

    at sun.nio.ch.Net.connect0(Native Method)

    at sun.nio.ch.Net.connect(Net.java:364)

    at sun.nio.ch.Net.connect(Net.java:356)

    at sun.nio.ch.UnixAsynchronousSocketChannelImpl.implConnect(UnixAsynchronousSocketChannelImpl.java:326)

    at sun.nio.ch.AsynchronousSocketChannelImpl.connect(AsynchronousSocketChannelImpl.java:195)

    at com.aliyun.talk.mon.stack.comm.AsyncConnection.connect(AsyncConnection.java:85)

    研究发现,Linux对外的随机分配端口是由一定限制的,理论上单机对外的端口最大值为65535,除去一些保留端口和被占用端口外,也应该在6W左右,但实际上单机建立对外连接时,默认不超过28232个连接。

    执行以下命令就很清楚原因了:

    $ cat /proc/sys/net/ipv4/ip_local_port_range

输出结果为:

    32768   61000

    这就是Linux随机分配端口的范围,如果在该范围内有被占用的端口,那么连接数肯定小于28232.如果想更改这个范围,可以执行以下命令:

    # echo "10000 65535" > /proc/sys/net/ipv4/ip_local_port_range




本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1753399

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
windows 2003 server 记录远程桌面的连接登录日志和修改3389连接端口方法
http://hi.baidu.com/cpucn/blog/item/f14f58db40654c6fd1164e42.html   A。
861 0
新浪微博Python客户端接口OAuth2
Keyword: Python Oauth2 微博 sina weibo   #!/usr/bin/env python # -*- coding: utf-8 -*- __version__ = '1.
1039 0
【转】Linux下的SSH端口转发
文章转自:http://www.dbabeta.com/2010/linux-port-forward-with-ssh.html 通常情况下两个不同的网络之间总会开放某一些特定的端口用于通讯使用,而SSH所使用的22端口通常就在开放之列。
848 0
windows / linux系统中,端口被占用解决方法
一、在windows操作系统中,查询端口占用和清除端口占用的程序提升权限后用:netstat -b或用1、查询端口占用的进程ID         点击"开始"-->"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:netstat -a -n  各个端口占用netstat...
910 0
Linux常用文件权限控制命令
一,查看文件属主属组ls -l [root@localhost app]# ls -l total 302832 drwxr-xr-x. 4 lhc lhc 4096 Nov 18 16:05 apache-phoenix-4.
979 0
+关注
6906
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载