把测试代码ServerAio.class,ClientAio.class打包成jar,丢给linux系统跑server,window跑client

其中添加两个shell文件,因为原系统装有java6,建立个sh不同版本java共存

java8.sh

/down/jdk1.8.0_131/bin/java $@

systeminfo.sh

echo "系统"
head -n 1 /etc/issue
echo cpu
cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"
echo "内存"
cat /proc/meminfo |grep MemTotal | awk 'BEGIN{sum=0} !/^d/{sum=$2} END{print "Memtotal is:",sum/1024,"M"}'

jdk:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

system:

系统
CentOS release 5.5 (Final)
cpu
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
内存
Memtotal is: 7983.66 M

首次测试时出现异常:java.io.IOException: Too many open files

 ./java8.sh -cp testaio.jar com.eyu.onequeue.demo.aio.ServerAio

执行:ulimit -a

其中open files 选项允许每个用户打开最大文件数,因为linux是文件资源系统,设备、连接、文件、应用程序等都是以文件形成存在

修改打开文件描述符限制:软限制值要小于或等于硬限制

重启会丢效:ulimit -n 1000000

永久修改vim /etc/security/limits.conf

在最后加入
* soft nofile 1000000
* hard nofile 1000000

* 是所有用户

修改可分配文件句柄限制:这台Linux系统最多允许同时打开(即包含所有用户打开文件数总和)

echo "fs.file-max = 2000000" >>/etc/sysctl.conf

执行生效:sysctl -p

初步测试结果:

  linxu服务端打印:16344

  window开两个client测试还是16344

那到底是client有限制还是server有限制呢?

是jdk问题还是system问题?

我们先排除系统问题:

  在linux跑单个client或两个client.结果服务端支持连接数28232

  window,linux同时跑client.结果服务端支持连接数44578

  结果证明系统对用户程序有限制

 ./java8.sh -cp testaio.jar com.eyu.onequeue.demo.aio.ClientAio

修改网络端口限制

echo "net.ipv4.ip_local_port_range = 1024 65535" >>/etc/sysctl.conf

这表明将系统对本地端口范围限制设置为1024~65535之间。请注意,本地端口范围的最小值必须大于或等于1024;而端口范围的最大值则应小于或等于65535。

执行生效:sysctl -p

如不出问题执行结果为64507成功突破,实验证明:系统对tcp端口分配有最大限制,每个client connect tcp随机分配一个端口,最多65535 -1024 - 已使用,对于window默认是1.6W左右,但不知道如何修改

不成功则添加

echo "net.ipv4.ip_conntrack_max = 60000" >>/etc/sysctl.conf

这表明系统将对最大跟踪的TCP连接数限制默认为60000请注意,此限制值要尽量小,以节省对内核内存的占用。

执行生效:sysctl -p

转载于:https://www.cnblogs.com/solq111/p/6747305.html

[编织消息框架][优化系统]突破连接上限(上)相关推荐

  1. VM虚拟机安装CentOS7系统后连接不上网络的问题(service netword restart)重启网卡和重置网络编译器

    文章目录 1.VM虚拟机安装CentOS7系统后连接不上网络的问题(service netword restart)重启网卡 2.service netword restart 2.第一种方式解决不了 ...

  2. 计算机连接不上蓝牙鼠标,图文教您win7系统蓝牙鼠标连接不上的处理方法

    大家在使用电脑的过程中,有没有遇到过win7系统蓝牙鼠标连接不上的问题,大部分朋友还是不知道win7系统蓝牙鼠标连接不上的情况应该怎么解决,针对win7系统蓝牙鼠标连接不上的问题,我给大家整理总结了详 ...

  3. 计算机连接不上蓝牙鼠标,win7系统蓝牙鼠标连接不上的解决方法

    win7系统使用久了,好多网友反馈说win7系统蓝牙鼠标连接不上的问题,非常不方便.有什么办法可以永久解决win7系统蓝牙鼠标连接不上的问题,面对win7系统蓝牙鼠标连接不上故障问题,我们只需要1.一 ...

  4. win连接被远程计算机终止,windows系统远程连接后马上断开提示“远程计算机已结束连接”的解决方法...

    原标题:windows系统远程连接后马上断开提示"远程计算机已结束连接"的解决方法 此问题在远程系统是GHOST版的windowsxp和winserver2003时出现的比较普遍. ...

  5. 网络计算机win7为啥连不上,浅析win7旗舰版64位系统网络连接不上的解决方法

    想要上网就得对电脑进行网络连接,这一块想必 win7系统 用户都懂得如何操作,只要点击系统右下角的网络连接即可连上网络,可是有部分用户反映有时候他们的电脑连不上网络,这到底是怎么回事呢?遇到这种情况我 ...

  6. 计算机连接不上蓝牙鼠标,win10系统蓝牙鼠标连接不上的图文教程

    有关win10系统蓝牙鼠标连接不上的操作方法想必大家有所耳闻.但是能够对win10系统蓝牙鼠标连接不上进行实际操作的人却不多.其实解决win10系统蓝牙鼠标连接不上的问题也不是难事,小编这里提示两点: ...

  7. Mac安装win10双系统蓝牙连接不上故障问题

    MAC安装双系统之后,进入win10一直不能正常连接蓝牙设备,鼠标也好,键盘也罢, 通通连接不上 结果多次试验网上的方法,通通不能用,依然不能连接. 分析问什么: 1.进入win10是从mac重启启动 ...

  8. 计算机连接不上蓝牙鼠标,笔者为您win7系统蓝牙鼠标连接不上的具体步骤

    许多win7系统用户在工作中经常会遇到win7系统蓝牙鼠标连接不上的情况,比如近日有用户到本站反映说win7系统蓝牙鼠标连接不上的问题,但是却不知道要怎么解决win7系统蓝牙鼠标连接不上,我们依照1. ...

  9. 计算机连接不上蓝牙鼠标,大师为你详解win7系统蓝牙鼠标连接不上的方法

    随着电脑的使用率越来越高,我们有时候可能会遇到win7系统蓝牙鼠标连接不上问题,如果我们遇到了win7系统蓝牙鼠标连接不上的问题,要怎么处理win7系统蓝牙鼠标连接不上呢?我们只用1.一般蓝牙鼠标不好 ...

最新文章

  1. 各种主流 SQLServer 迁移到 MySQL 工具对比
  2. 科技贡献新力量:无人驾驶清扫车上路
  3. linux下使用tar命令
  4. 监控摄像机选型攻略之有无必要性
  5. shell脚本编写汇集
  6. VSCode如何关闭右侧预览功能 - 截图示下
  7. CES 2021落下帷幕 未来3年展会时间已公布
  8. 【java】CGLIB动态代理原理分析
  9. FPGA 串口中断_一个严谨的STM32串口DMA发送amp;接收(1.5Mbps波特率)机制
  10. 【zoj2314】Reactor Cooling 有上下界可行流
  11. python给定dna等分成两个序列_分析DNA序列中的串联重复序列
  12. ArcGIS Python实现Modis NDVI批量化月最大合成
  13. 非常详细的光纤入户方案书
  14. 通过云服务器实现淘宝京东抢拍器
  15. 需求管理系统分析与设计
  16. 笔记本如何不按Fn键就能实现F键的功能
  17. 最新更新3个QQ空间认证申请入口
  18. Hausdorff 距离
  19. html5小游戏跑,HTML5 Speedster 小游戏(高速跑跳过关)
  20. 优秀简历模板分享(前端,Java等通用模板)

热门文章

  1. puppet成长日记二 Package资源详细介绍及案例分析
  2. 提升自己身价的四个方式
  3. 远程计算机已结束连接解决方法
  4. 风格之争:Coroutine vs Callback
  5. JavaScript 拾碎[二] JavaScript 操作cookie 类
  6. Java中抽象类和接口的区别(来源二,原始来源不明确)
  7. 楼板计算塑形弹性_柴油发电机机房设计标准及原则:机房接地选址、柴发容量计算书...
  8. java如何实现e的次方_java 大数据次方运算
  9. DEX Integral 上线 11 小时锁仓价值接近 3 亿美元
  10. 数据:PayPal 24小时内加密交易量达2.42亿美元创记录