性能测试:验证在 各种性能负载场景下,系统的表现是否符合预期。
一个性能测试场景,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,命令行,录制,线程,测试,使用,jmeter From: https://www.cnblogs.com/jiushao-ing/p/17548603.html