解决 jmeter 压测Non HTTP response code: java.net.NoRouteToHostException/Non HTTP response message: Cannot assign requested address (Address not available)
针对centos :
先检查下tcp port range 在合理范围内:
cat /proc/sys/net/ipv4/ip_local_port_range
1024 65535
上述为centos合理范围,不合理作出修改
解决方法:
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
执行:sysctl -p ,使设置立即生效。