美文网首页
jmeter-参数调整

jmeter-参数调整

作者: Kitsuna | 来源:发表于2020-06-23 23:57 被阅读0次

启动脚本
jmeter -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: 每秒从服务器端接收到的数据量

遇到的问题

1、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)
错误原因: 由于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

2、命令行模式下输出结果没有http报文

命令行模式下一般是保存测试结果到文件,再通过GUI打开文件查看报告,但默认配置下输出的文件不包含请求报文和响应报文。
解决办法:
在jmeter.properties文件中修改配置,将结果文件保存格式改为xml,再开启报文保存功能,jmeter可以配置只在测试失败时记录报文,也可以每一个测试样本都保存。

注意:jmeter官方不建议直接修改jmeter.properties文件,应该将要修改属性追加到user.properties文件中。

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data.on_error=true
jmeter.save.saveservice.samplerData=true

3、内存溢出

在执行压力测试时候,有时候会遇到OutOfMemoryError这样的异常;JMeter是一个纯Java开发的工具,内存是由java虚拟机JVM管理;如果出现了内存溢出的问题,可以通过调整JVM内存相关的参数进行优化。
参数调整:(参数的调整仅为参考,具体根据测试机的硬件配置来决定)
调整堆内存的大小:
将默认的set HEAP=-Xms512m -Xmx512m,调整为set HEAP=-Xms1024m -Xmx1024m;
调整堆内存中新生带的大小:
将默认的set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m,调整为set NEW=-XX:NewSize=256m -XX:MaxNewSize=256m;
调整堆内存中永久带的大小(jvm8以前):
将默认的set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m,调整为set PERM=-XX:PermSize=128m -XX:MaxPermSize=256m;

相关文章

  • jmeter-参数调整

    启动脚本jmeter -n -t test.jmx -l result.jtl参数说明 分析结果将生成的 resu...

  • JMeter-参数化

    JMeter-参数化

  • Jmeter-参数Parameters和Body Data

    Jmeter-参数Parameters和Body Data(转自csdn) (原文链接 https://blog....

  • jmeter-参数化

    参数化释义 什么是参数化?从字面上去理解的话,就是事先准备好数据(广义上来说,可以是具体的数据值,也可以是数据生成...

  • 9. Jmeter-前置处理器

    jmeter-前置处理器介绍与使用 JSR223 PreProcessor 用户参数 HTML链接解析器 HTTP...

  • jmeter-变量参数化

    1、token-添加正则表达式提取器 表达式:(.+?) ,变量在展示时:${token} 2、需要参数化的字段-...

  • jmeter- 多线程传递参数

      在使用jmete时,有时需要在两个线程之间传递参数,因为jmeter各个线程之间的参数都是独立的,所有就需要把...

  • JMeter-接口自动化之正则表达式关联

    JMeter-接口自动化之正则表达式关联 jmeter中,接口自动化的关键在于参数关联。比如需要登录的接口,如何调...

  • LSTM神经网络调参需知

    调整超参数 调整参数时,应先确定其他的超参数,调整一个超参数值。不要一起调节,一起调节很难掌握数据的特性。 由于b...

  • jmeter-测试环境(url)参数化

    测试过程中,可能会有多套测试环境,或者所有的请求依赖相似的ip\端口号,在测试过程中也经常需要切换测试环境,这时对...

网友评论

      本文标题:jmeter-参数调整

      本文链接:https://www.haomeiwen.com/subject/vhcbictx.html