首页 > 其他分享 >jmeter压力测试报错

jmeter压力测试报错

时间:2023-03-28 19:57:10浏览次数:43  
标签:线程 客户机 报错 测试 服务器 net jmeter 端口号

用jmeter 压力测试GPU版本的模型服务时,发现增加jmeter线程数(20个线程时),在压测的后半段会报错,进去查看结果树发现这样的错误:

Response code:Non HTTP response code: java.net.NoRouteToHostException

Response message:Non HTTP response message: Cannot assign requested address (Address not available)

网上查资料发现,说是linux服务器的临时端口不够用了。

jmeter访问http协议的模型服务的时候,实际上jmeter的每个请求都以一个线程的形式存在,http connection连接了客户机和运行模型服务的服务器,客户机和服务器这两台机器都会用各自的一个临时端口号来唯一标识这个http连接,在请求完成之后,服务器和客户端才会释放、回收这个临时端口,供后续使用。问题在于客户端、服务器的临时端口号都是有限的,不能无限获得。可用的端口号在客户机、服务器都有配置,保存在这个文件中:/proc/sys/net/ipv4/ip_local_port_range

可以通过cat 命令来查看:

cat /proc/sys/net/ipv4/ip_local_port_range

我用的服务器显示的结果是:

10000   65000

代表可用的端口号范围是10000-65000,共55000个端口号。

而在客户端linux系统上,这个文件中的结果为

32768   60999

也就是客户机上说只有28232个端口可用,在jmeter压测过程中,如果同时打开的http连接数量超过客户端、服务端两者的最大可用端口数中的较小值时,即

min(客户机的最大可用端口数,服务器的最大可用端口数)

jmeter就会报上述错误。

而我在压测过程中,当jmeter线程数设置为15时,就很少报这个错,是因为15个线程压测时,不容易同时打开这么多HTTP连接,超过最大可用端口号的数量,因此很少报这个错(当然也有报错过,但比较少见)。解决办法就是如下参考链接中说的,在客户机和服务端机器上都进行以下设置(注意客户机、服务器都要设置,亲测如果只设置服务器,还是会报错)tcp协议中的3个变量(其中第3个有些操作系统没有,可不设置)

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

果然,修改配置后再也没有报过上述错误,即便jmeter线程数增加到100。

参考资料:https://www.jianshu.com/p/048193abfd42

标签:线程,客户机,报错,测试,服务器,net,jmeter,端口号
From: https://www.cnblogs.com/aaronhoo/p/17266463.html

相关文章

  • 瑞萨G2UL工业核心板内存测试,您想了解的内容全都有
    1. 测试对象HD-G2UL-EVM基于HD-G2UL-CORE工业级核心板设计,一路千兆网口、一路CAN-bus、3路TTL UART、LCD、WiFi、CSI 摄像头接口等,接口丰富,适用于工业现场应用需求,亦方便......
  • jmeter处理验证码的几种方式
    1、验证码通过接口获取,接口返回为json,验证码为json中一个字段的值,该值为图片进行base64加密后的内容返回值的形式如下:{"code":200,"msg":"","data":"iVBORw0KGgoAA......
  • java 如何解决String类型转成int类型报错(因长度问题)?
    原因:“int最大长度是11位使用 Integer.valueOf(uuid),一旦uuid超过11位就会报错。如果想要计算怎么办?第一种:是用长整型 String.valueOf(Long.parseLong(fileId)+1)......
  • 如何测试一款移动应用
    嗨,大家好,我是Luna,一名00后的软件测试工程师,已经在测试岗位上工作了一年多。前几天收到了领导派发的测试任务,内容是测试一款公司新研发的APP。今天就趁着项目的间隙,来分享一......
  • 测试思维 HTSM模型
    七月博主写的很好https://blog.csdn.net/u014220762/article/details/126348575 看图见博主原文什么是HTSM启发式测试策略模型(HeuristicTestStrategyModel,简称HTSM......
  • 软件性能测试名称介绍
    响应时间响应时间又分为系统响应时间和页面呈现时间系统响应时间:请求发出到客户端接收到数据的时间;它又可细分为请求时间、系统处理时间、数据库处理时间、网络延迟时间......
  • iOS自动打包 Swift Package 报错记录
      使用脚本自动打包iOSipa时,如果三方库有更新,swiftpakege加载库时报错,多半是git账号信息问题,钥匙串访问问题,尤其是有私有库存在时报错信息:1.errSecInternalComponen......
  • 一直报错Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.j
    按照网上的提示在pom.xml添加了依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></depen......
  • C#中测试普通方法和对象类型以及泛型所需要的时间
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceMyGeneric{publicclassCo......
  • 实验一 密码引擎-2-电子钥匙功能测试
    一、任务详情0参考附件中的视频1解压"资源"中“龙脉密码钥匙驱动实例工具等”压缩包2在Ubuntu中运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\linux......