2016年12月20日星期二

Jmeter 遇到的问题:rc="Non HTTP response code: java.net.NoRouteToHostException" rm="Non HTTP response message: Cannot assign requested address"

在使用Jmeter压测时,遇到日志中有大量的错误:

rc="Non HTTP response code: java.net.NoRouteToHostException" rm="Non HTTP response message: Cannot assign requested address"
如下图:


原因:Jmeter 发压机的端口不够用

解决办法:
1. netstat|grep TIME_WAIT |wc -l     查看目前处在TIME_WAIT状态的值大不大
2.     检查系统sysctl中配置项:(/etc/sysctl.conf)
        net.ipv4.tcp_tw_reuse = 1
        net.ipv4.tcp_tw_recycle = 1
        net.ipv4.tcp_max_tw_buckets = 10000   (5000也OK,主要是前两个值)
3.      如果上面三个值都正常,cat /proc/sys/net/ipv4/ip_local_port_range   查看可使用的端口范围。如果是默认范围,可修改为:net.ipv4.ip_local_port_range = 1024 65535
4.      执行:sysctl -p ,使设置立即生效。