线程组介绍:

thread group(线程组)和stepping thread group(步进线程组)的区别:

小结:步进线程组可以更详细的设计线程组中线程的启动方式,适合于模拟非常真实复杂的用户压测场景。
线程组只能做简单的线程数配置

2.参数化的几种方式:
1.用户自定义的变量

2.csv文件:

3.随机数

4.计数器

备注:计数器加循环控制器可实现批量数据增加,使用范围广
5.正则表达式提取器

小结:
用户自定义变量:适用于固定的值,可作为全局变量,调试接口时推荐使用,不过由于只能对应一个参数无法创建出批量不相同的数据。
CSV文件:适用于创建已确定的数据,生成的数据固定,可批量创建测试数据,不过数据需要事先准备,使用场景如数据库导出的数据,业务提供的数据清单等。,
计数器:配合循环控制器可创建大量有规律的数据,对于需要创建大量的测试数据时,可先考虑,对比CSV文件来说不需要提前准备测试数据。
随机数:适用于测试数据不能重复的场景。相对于csv文件和计数器,使用随机数时可以不用配合循环控制器,就能实现每次调用接口都是不同的参数,csv文件和计数器每次都是从第一个数据获取,依次增加。
正则表达式提取器:用于上一个接口的接口返回值作为下一个接口的请求参数。日常工作中使用最多。

  1. 全局变量的使用

小结:设置全局变量,可实现在不同线程组之间参数传递,利于接口脚本分层管理,相同模块存放在同一个线程组下面,利于后期维护脚本。
4.使用jmeter插件PerfMon Metrics Collector或nmon监控服务器
效果截图:

CPU:

Memory:

Network I/O

–使用jmeter监控服务器内存CPU
准备数据
1.Linux安装JDK
2.在一个文件夹下放入ServerAgent包
3.修改文件权限(—X,必须增加可执行权限),一般直接修改为: chmod 文件名 777
4.在Linux执行startAgent.sh,命令:./startAgent.sh 或者 sh startAgent.sh
5.在jmeter文件夹里放入ServerAgent包

使用方法:
1.使用Xshell工具连接服务器
2.进入存放ServerAgent包的文件夹,使用命令:
cd /midware/easyops/data/mycadillac/ServerAgent-2.2.3/
3.执行startAgent.sh文件,使用命令:./startAgent.sh 或者 sh startAgent.sh
4.在Windows服务器上启动startAgent.bat
5.使用jmeter添加jp@gc - PerfMon Metrics Collector
6.执行jmeter
7.生成图形报表命令jmeter -n -t 脚本路径 -l result.jtl -e -o 生成报表文件路径
(执行命令cmd路径需要切换到jmeter的bin目录下
列:jmeter -n -t G:\jmeter\登录.jmx -l result.jtl -e -o F:\repor)
注:在下一次生成报告需要删除文件repor和result.jtl文件
1、删除之前的测试报告
del /s /Q D:\Jmeter\apache-jmeter-3.2\bin\result.jtl 该路径是jmeter的安装路径
2、删除之前的测试报告文件夹
rd /s /Q F:\report 该路径是生成测试报告的路径

–使用nmon监控服务器资源
1.连接服务器
2.点击连接新建文件传输,把nmon复制到对应位置,并修改权限为777
3.在服务器上进入nmon,并执行./nmon -f -t -s 5 -c 360
4.执行jmeter脚本
5.执行结束后,进入文件传输器刷新生成测试报告,复制出来
6.回到桌面,点击nmon,使用analyser.slsm 导入对应的测试报告,即可看到对应的测试数据

注意事项:
1.jmeter插件需要在对应服务器上安装jdk
2.nmon只有用office办公软件才能打开,wps不行

6.jmeter使用分享
jmeter操作简单,功能强大。在接口自动化以及性能测试方面都是不错的选择。
附上接口测试的一些注意点:
1.正确按照接口文档规定的参数调用,查看接口返回(查看入参和出参是否一致)
2.必填项参数不传(查看报错)
3.必填项参数传空(查看接口是否正确处理)
4.参数类型修改、长度校验(根据需求功能决定)
5.查看参数返回为空,前端是否会出现异常(一般新老接口更改时需要验证接口返回数据的参数)
6.对于用户信息(身份证、手机号、密码、银行卡号等)接口需要密文处理
7.需要校验同一用户当接口还未返回请求时再次调用该接口的情况(app快速点击触发)
8.检验固定时间内接口的请求次数(如投诉接口1分钟之内只能投诉10次)
9.对于影响用户数据的操作,需要验证范围(如对用户的核心数据操作时,功能权限是否会越界)
测试环境 apache-jmeter-2.13
插件:https://jmeter-plugins.org/downloads/old/

将下载的zip包解压,然后将\lib\ext目录下的jar包拷贝到jmeter的\lib\ext目录下就行了。

插件适用范围及要求等可参考文档:http://jmeter-plugins.org/wiki/Changelog/

  1. 安装好插件
    测试环境:
    java jdk版本: 1.6.0_14

Jmeter版本:apache-jmeter-2.13

插件版本:
JMeterPlugins-Standard-1.3.0.zip
JMeterPlugins-Extras-1.3.0.zip

注:1.4也可以

代理服务器版本
ServerAgent-2.2.1.zip

下载地址:http://pan.baidu.com/s/1jH9xnKi

安装插件:

分别解压JMeterPlugins-Standard-1.3.0.zip,JMeterPlugins-Extras-1.3.0.zip,找到lib\ext目录下的JMeterPlugins-Standard.jar和JMeterPlugins-Extras.jar,这两个jar包放入Jmeter安装目录下ext目录下

开启Jmeter,查看插件是否安装成功
如下图,新增好多监听器

开启代理服务器
解压ServerAgent-2.2.1.zip到需要监控的服务器上,运行startAgent.bat批处理(windows)或startAgent.sh(Linux),开启代理服务器

创建好Jmeter计划,添加相关监听器及配置后开始运行
效果图:

建议一个监听器仅添加一个监听指标,方便查看

  1. 添加线程组
    右键测试计划->添加->Threads(Users)->jp@gc - Stepping Thread Group

3.stepping thread group和线程组的介绍
添加后,面板如下
在这里插入图片描述
参数介绍:
thread scheduling parameters:线程调度参数
this group will start 100 threads:这个线程组最大将启动100个线程
first,wait for 0 seconds:启动之前,首先等待0秒
then start 0 threads:然后开始启动 0 个线程
next, add 10 thresds every 30 seconds, using ramp-up 5 seconds:每5秒增加10线程,然后运行30秒(之后重复此过程,直到线程数达到100)
then hold load for 60 seconds:增加到最大线程数之后,保持运行60秒
finally, stop 5 thread every 1 seconds: 运行完成之后,没间隔1秒终止5个线程

四、监听器Active Threads Over Time
步骤:右键测试计划->添加->监听器->jp@gc - Active Threads Over Time

完整添加HTTP Request后,点击运行测试,查看Active Threads Over Time运行结果。可查看线程陆续启动的曲线,到达设置的最大线程数后,将持续运行设置的时间,到达设置的持续时间后,陆续结束进程。

五、上传附件

jmeter性能分享总结相关推荐

  1. jmeter性能分析_使用JMeter和Yourkit进行REST / HTTP服务的性能分析

    jmeter性能分析 我的上一篇文章描述了如何使用JMeter完成异步REST / HTTP服务的压力测试或负载测试. 但是,运行这样的测试通常表明被测系统不能很好地应对增加的负载. 现在的问题是如何 ...

  2. Jmeter性能测试之系统监控

    性能测试其实是利用工具监控系统和服务器的运行状态. 1.学习性能测试前,先了解两种软件应用架构B/S和C/S,如下图所示: B/S即Browser/Server,也就是浏览器web应用模式:C/S即C ...

  3. jmeter性能使用笔记

    jmeter性能使用笔记 一.url请求编码,对应的中文汉字应该使用URL编码进行转换,传参金http/https请求中 二.jmeter按比例执行业务场景 可用函数 __counter实现: 函数助 ...

  4. jmeter性能测试报告之图形化展示

    jmeter性能测试报告之图形化展示 准备工作: 1.java的运行环境正常,及运行java -version.javac -version能正常输出java版本: 2.ant的运行环境正常,使用an ...

  5. Jmeter性能测试之资源监控

    性能测试其实是利用工具监控系统和服务器的运行状态. 关于Jmeter对系统指标的监控,详情点击阅读:Jmeter性能测试之系统监控 那资源指标怎么监控呢?Jmeter监控服务器的资源状态,需下载插件配 ...

  6. Jmeter性能测试之随机控制器和随机顺序控制器的使用

    随机控制器,在此控制器下的请求会随机选择 如上图脚本,随机控制下添加三个请求,控制器外一个请求,执行一下 可见,随机控制器下的请求是随机的 随机顺序控制器 随机顺序控制器下添加三个请求,线程数设置 为 ...

  7. Jmeter性能测试之Switch控制器使用

    该控制器可以控制他里面的请求根据某些规则在不同num时选择控制器下的对应数字位的不同sampler.一般可以用在模拟多线程同时操作不同请求的测试场景. 这个switch value里填写的应该是数字0 ...

  8. Jmeter性能测试之ForEach控制器的使用

    本文主要介绍下ForEach控制器的基本用法~ ForEach控制器一般和用户自定义变量一起使用,从用户自定义变量中读取一系列相关的变量.该控制器下的采样器或控制器都会被执行一次或多次,遍历读取不同的 ...

  9. jmeter性能测试报告_用 JMeter 做接口测试的优劣浅析

      2018年由软件质量报道做的调查报告表明,受调查的测试人员中约有40.67%的人使用JMeter作为接口测试的自动化测试工具(排在商业化或者开源工具中的第一),剩下的为Postman(28%),以 ...

最新文章

  1. golang mysql商业用例_完美起航-golang操作mysql用例
  2. jvm指令重排原因?怎么避免?
  3. 学习WPF: 创建数据绑定目录树
  4. android之uniapp弹出activity
  5. PageHelpe的分页不起作用
  6. Hive高级查询(group by、 order by、 join等)
  7. 【音乐可视化】音乐表演可视化软件分析
  8. 2. HTTP 报文
  9. itext设置字体间距_Java使用iText生成pdf
  10. 2021年中国上牌和驾驶员数量分析:新注册登记机动车3674万辆 新领证驾驶人2750万人[图]
  11. Servlet 实现上传附件(支持多附件)
  12. 中国新能源汽车电机及控制器行业需求态势与十四五方向分析报告2021年版
  13. idea、webStrom 集成 svn 报错 Error: Node remains in conflict
  14. ios视频通话三方_自己实现简易版 多人视频通话 iOS Android
  15. 今天出门你查老黄历了吗?包括万年历在内的超多免费可用 API 推荐(一)
  16. 【AI语音】九联UNT402A_通刷_纯净精简_免费线刷固件包
  17. cppcheck代码检查工具安装与使用技巧
  18. leetcode【排序】这个自定义排序的比较器感觉不好直接想出来,需要多练欸
  19. 拼多多商品数据如何通过api接口获取
  20. Python Turtle库绘制小黄脸表情包

热门文章

  1. 教你如何搜索电影资源,再也不为没有电影资源烦心!
  2. mysql dwith boost_【云知梦】CentOS8.2上如何编译安装MySQL8?
  3. 朴素贝叶斯代码(Python)
  4. 基于android公交车线路查询论文文献,基于Android手机的实时公交查询系统设计与实现...
  5. 基于ZebraPrinter 的ZPL 命令 --Android篇
  6. ECCV 2022 | 阿里提出:快速动作识别的时空自注意力模型
  7. 未来AI智能对人类的影响的利弊
  8. TF-IDF和BM25算法原理及python实现
  9. Ubuntu16.04安装ROS教程
  10. 江西省建筑节能与绿色建筑发展“十三五”规划