标签:Non HTTP 端口 tcp sys ipv4 message proc net
此次压力测试遇到个神坑,在此记录一笔。
是它 ↓是它↓就是它↓
都怪本人学艺不精,导致摔了个大跟头。
问题描述:本地电脑是mac pro,并发300执行的时候,一点毛病没有,但是同样的脚本放到centos7.5上去执行的时候,就出现了大面积如上的错误。
原因:linux 分配给客户端连接接的端口用尽,无法建立socket连接所致,虽然socket关闭了,但是端口默认等待60s才会释放,所以只要我们再多给点可用的端口就好了。
查看Linux支持的客户端连接端口范围,也就是28231个端口
cat /proc/sys/net/ipv4/ip_local_port_range
解决:
1. 调低端口释放后的等待时间, 默认为60s, 修改为15~30s
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
2. 修改tcp/ip协议配置, 通过配置/proc/sys/net/ipv4/tcp_tw_resue, 默认为0, 修改为1, 释放TIME_WAIT端口给新连接使用。
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
3. 修改tcp/ip协议配置,快速回收socket资源, 默认为0, 修改为1.
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
以上均是参考这位不知名英雄的博文解决---->https://my.oschina.net/u/4345031/blog/4169999
在此谢过
标签:Non,HTTP,端口,tcp,sys,ipv4,message,proc,net 来源: https://www.cnblogs.com/xiaoxiaorichang/p/14793534.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。