Linux对外连接port数限制
这两天做压力測试,发现了一个问题,当模拟TCP client对外发起连接数达到28000左右时,開始大量抛例如以下异常:
java.net.BindException:Cannot assign requested address
atsun.nio.ch.Net.connect0(Native Method)
atsun.nio.ch.Net.connect(Net.java:364)
atsun.nio.ch.Net.connect(Net.java:356)
atsun.nio.ch.UnixAsynchronousSocketChannelImpl.implConnect(UnixAsynchronousSocketChannelImpl.java:326)
atsun.nio.ch.AsynchronousSocketChannelImpl.connect(AsynchronousSocketChannelImpl.java:195)
atcom.aliyun.talk.mon.stack.comm.AsyncConnection.connect(AsyncConnection.java:85)
研究发现。Linux对外的随机分配port是由一定限制的。理论上单机对外的port最大值为65535。除去一些保留port和被占用port外,也应该在6W左右。但实际上单机建立对外连接时。默认不超过28232个连接。
运行下面命令就非常清楚原因了:
$ cat /proc/sys/net/ipv4/ip_local_port_range
输出结果为:
32768 61000
这就是Linux随机分配port的范围,假设在该范围内有被占用的port,那么连接数肯定小于28232.假设想更改这个范围,能够运行下面命令:
#echo "10000 65535" > /proc/sys/net/ipv4/ip_local_port_range
相关文章
- Java远程连接Linux服务器并执行命令及上传文件详解编程语言
- 从Linux进入开发世界:常用软件介绍(linux开发常用软件)
- Linux软件安装指南(linux软件怎么安装)
- Linux系统目录大小限制管理(linux目录限制大小)
- 连接Linux世界:图形界面引导你前进(linux图形连接)
- 理解Linux中的硬链接与软链接(linux硬链接和软连接)
- Linux物理地址映射:让你轻松实现真正的连接(linux物理地址映射)
- 处理深入了解Linux服务器编码处理(linux服务器编码)
- Linux 取消软链接:解开连接的正确方式(linux取消软连接)
- Android Linux开发之路(安卓linux开发)
- Linux网络状态检查:确保无缝连接.(linux的网络状态)
- 突破Linux系统内存限制,实现极致效能(linux系统内存占用)
- 探索Linux字符串的格式化之路(linux字符串格式化)
- 解锁Linux系统的IP连接之旅(linux连接ip)
- Linux 在线升级:简单步骤把系统更新到最新版本(linux在线升级)
- 安全连接Linux下建立SSH安全连接的方法(linux创建ssh)
- 探秘Linux内核:深入了解操作系统的核心(深度linux内核)
- Linux下安装Oracle的完美指南(linux安装oracle)
- 使用PHP连接Linux,轻松实现物联网设备管理。(php连接linux)
- Linux启用SSH远程访问实现安全连接(linux启动ssh)
- Linux快速拷贝文件的方法(linux系统拷贝文件)
- 限制Linux 中路径最大长度限制解析(linux路径长度)
- 推荐好用的Linux视频教程(linux视频教程推荐)
- Linux GVFS在文件管理中的作用(linux gvfs)
- Linux ADB:开启智能手机无缝连接之门(linux adb 下载)
- 连接Linux,一键可视化,操作更高效(可视化连接linux)
- Linux下的多人聊天工具:让沟通更轻松(linux 下的聊天工具)
- Linux环境下限制IP访问的技术实现(限制ip访问linux)