欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java.net.NoRouteToHostException: Cannot assign requested address

发布时间:2024/9/27 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java.net.NoRouteToHostException: Cannot assign requested address 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
启动脚本 jmeter.sh -n -t test.jmx -l result.jtl 参数说明 - h 帮助 -> 打印出有用的信息并退出 - n 非GUI模式 -> 在GUI模式下进行JMeter测试 - t 测试文件 要运行的JMeter测试脚本文件 - l 日志文件 记录结果的文件 - r 远程执行 启动远程服务 - H 代理主机 设置JMeter使用的代理主机 - P 代理端口 设置Jmeter使用的代理主机的端口号

分析结果
将生成的 result.jtl 文件,下载到window中,并window版jmeter中使用 聚合报告查看结果信息。

JMeter的测试结果字段的意义
  1. Label: 定义的HTTP请求名称
  2. Samples: 表示这次测试中一共发出了多少个请求
  3. Average: 访问页面的平均响应时间
  4. Min: 访问页面的最小响应时间
  5. Max: 访问页面的最大响应时间
  6. Error%: 错误的请求的数量/请求的总数
  7. Throughput:每秒完成的请求数
  8. KB/Sec: 每秒从服务器端接收到的数据量

遇到的问题
java.net.NoRouteToHostException: Cannot assign requested address
liunx环境下进行压力测试,发现结果存在error,查看 result.jtl 发现存在一些错误消息 1509777594480,4,HTTP请求,Non HTTP response code: java.net.NoRouteToHostException,Non HTTP response message: Cannot assign requested address (Address not available),线程组 1-378,text,false,,2080,0,1000,1000,0,0,4 。
错误原因: 由于liunx 分配的客户端连接端口用尽,无法建立socket连接所致,虽然socket正常关闭,但是端口不是立即释放,而是处于 TIME_WAIT 状态,默认等待60s后释放。
查看liunx支持的客户端连接端口范围,也就是 28232 个端口。 cat /proc/sys/net/ipv4/ip_local_port_range
32768 - 61000

解决方法:

1. 调低端口释放后的等待时间,默认为60s,修改为15~30s。echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout 2. 修改 tcp/ip 协议配置,通过配置 /proc/sys/net/ipv4/tcp_tw_reuse,默认为0,修改为1,释放TIME_WAIT端口给新连接使用。 echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse 3. 修改 ctp/ip 协议配置,快速回收socket资源,默认为0.修改为1。echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle 创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的java.net.NoRouteToHostException: Cannot assign requested address的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。