线程组介绍:

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. 构建一个移动应用程序要花多少钱?
  2. RPC(远程过程调用协议)介绍
  3. 原文翻译:关于机器学习,我们忽视的东西
  4. face++算法工程实习生面试
  5. HDFS常用Shell命令
  6. RocketMQ基础概念剖析源码解析
  7. 博客主题源码Yusi版本1.0,简洁明了的WordPress
  8. 《童梦奇缘-梦幻般的羁绊》第一章-朦胧
  9. Oracle AWR报告提取方法
  10. 【Codeforces 1426 E】Rock, Paper, Scissors,贪心!算反面
  11. 法拉利杀手Koenigsegg CCX
  12. SQL创建触发器以及触发器的使用实例+详解
  13. KMS知识文档管理系统如何与BPM流程管理相结合
  14. 图解传说中的HTTP协议
  15. 现在的我,不想做管理
  16. Facebook的利润创下历史新高,不受最近的丑闻影响
  17. How to recognise a good programmer
  18. 斗牛士的最后一刺,应准确命中牛肩胛骨间约几英寸宽的地方
  19. oracle 移动分区表到指定表空间,及修改表的默认表空间
  20. 2022年高教社杯全国大学生数学建模竞赛-【赛题解析篇】C题:古代玻璃制品的成分分析与鉴别

热门文章

  1. ORACLE EXPDP ORA-31626 问题
  2. AE基础教程第一阶段——22旋转动画初体验
  3. 全国大学高校基础信息 API 接口
  4. PC微信扫描浏览器Cookies?腾讯:目前无法重现问题;华为手机分拆?官方否认;pip 21.0停止支持Python 3.5...
  5. kdb+的下载与安装
  6. 24亿美金订单!今年黑五,这群人又赚翻了!
  7. 【电力系统】基于matlab粒子群算法求解热电联产系统优化配置问题【含Matlab源码 2298期】
  8. vSphere6.7创建Windows Server 2016虚拟机及磁盘扩容
  9. 超级右键--Mac上最强的右键菜单工具
  10. 计算机PPT必会,计算机常用工具软件完整PPT课件