jmeter基本使用

性能测试:验证在 各种性能负载场景下,系统的表现是否符合预期。

 

一个性能测试场景,Jmeter称之为test plan,即 测试计划

Jmeter 的测试计划 对应 性能测试的一个场景,也就是一个测试用例。

我们应该首先准备好 性能测试用例,然后用Jmeter来创建对应的 测试计划。

 

性能测试用例,总的来说,即模拟 用户的数量和行为

JMeter 把一个用户的行为 用一个线程来执行,线程多少相当于用户数量多少

JMeter 把同一种用户的行为和数量, 用线程组来定义,代表有一批用户,都是这样的行为。

JMeter 把每个节点称之为 element(元件/元素)

 

 一个测试计划(或者称测试用例)至少包含三个要素:

(1)线程组:即用来模拟 用户的数量

(2)取样器:即用来模拟 用户的行为

(3)监听器:记录测试结果,生成报告

线程组

取样器

监听器

 一般而言 性能测试场景分为四种:

(1)单业务基准测试:某个具体业务是否满足 系统设计或用户期望的性能指标

(2)单业务负载测试:某个具体业务能够承受的最大负载

(3)综合业务负载测试:多个有关联的业务 根据用户实际使用场景按某种比例进行 最大负载的测试

(4)综合业务稳定性测试:长时间 进行核心综合业务测试,并保持足够压力来验证服务器的稳定性

性能指标:https://www.byhy.net/tut/others/loadtest/measure/

 

Jmeter录制流量

(1)添加线程组->逻辑控制器->录制控制器

 

 

 

 (2)添加测试计划->非测试元件->HTTP代理服务器

(3)配置浏览器代理服务器,端口与上一步中保持一致

完成上述配置,即可开始录制

首先,在HTTP代理服务器中启动录制

 之后会弹出认证窗口,点击确认

接下来,就可以在浏览器中进行录制操作,录制完毕后点击停止,结束录制

 

 录制完成,右键点击 录制线程组点击验证,查看一下是否能正确模拟

最后进行 脚本分析和整理,数据参数化等后续操作

jmeter录制脚本过滤

如果你需要录制时过滤掉一些请求,点击Request Filtering 配置页,排除模式下 添加 你要 过滤掉 不抓取的 的类型资源 ,使用的是正则表达式

排除 访问 所有下面扩展名的 HTTP请求

(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)

排除 所有 访问 detectportal.firefox.com 的请求

detectportal\.firefox\.com.*

 

Jmeter运行模式

  • GUI图形界面模式
  • CLI 命令行模式

图形界面模式是开发调试用的,命令行模式才是真正执行压力测试时用的

开发阶段,先使用 图形界面模式,等调试没有问题,再使用命令行模式

之所以用命令行执行脚本,主要有以下三点:

  1) 图形化界面消耗更多资源,CPU和内存

  2) 图形化界面不支持大型的负载测试和性能测试

  3) 命令行测试支持持续集成,例如放到Jenkins这样的CI工具上

常用命令:

示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl

jmeter -n -t <testplan filename> -l <listener filename>
示例: jmeter -n -t testplan.jmx -l test.jtl

执行远程脚本

jmeter -n -t 脚本.jmx -R 192.168.31.88 -l report/

执行直接生产报告

jmeter -n -t 脚本.jmx -l result.jtl -e -o report/

命令行参数

 

分布式命令行执行

Jmeter远程启动

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-07-13 15:54  天才九少  阅读(207)  评论(0编辑  收藏  举报