http的性能压测时,遇到linux客户端端口被占完的情况

1. 通过自己写的benchmark,发送http请求是,会报如下错误:cannot assign requested address (connect failed),网上有很多帖子:是因为端口被http的短连接占完了。

如下方法可以解决,我用了解决方法一,但是需要重启机器,才生效。

 

转载:https://blog.csdn.net/wenshuangzhu/article/details/44060901

可能解决方法1--调低time_wait状态端口等待时间:

1. 调低端口释放后的等待时间,默认为60s,修改为15~30s
sysctl -w net.ipv4.tcp_fin_timeout=30
2. 修改tcp/ip协议配置, 通过配置/proc/sys/net/ipv4/tcp_tw_resue, 默认为0,修改为1,释放TIME_WAIT端口给新连接使用
sysctl -w net.ipv4.tcp_timestamps=1
3. 修改tcp/ip协议配置,快速回收socket资源,默认为0,修改为1
sysctl -w net.ipv4.tcp_tw_recycle=1

可能解决办法2--增加可用端口:
CCH:~ # sysctl -a |grep port_range
net.ipv4.ip_local_port_range = 50000    65000      -----意味着50000~65000端口可用

修改参数:
$ vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 10000     65000      -----意味着10000~65000端口可用


 

你可能感兴趣的:(性能和scale测试)