Jmeter执行原理
Jmerer通过线程组来驱动多个(也可以理解为LR的虚拟用户)运行测试脚本对目标服务器发起大量的网络请 求,在每个客户端上可以运行多个线程组,也就是说一个测试计划可以包含N个线程组。
线程数 一个线程可以理解为对应模拟一个用户,所以线程数越多,那么也就认为可以模拟的用户数越多。
线程属性
1、线程数
1个线程可以理解为对应模拟1个用户,所以线程数越多,那么也就认为可以模拟的用户数越多。
2、Ramp-Up时间(秒)
该属性指的是所有线程从启动到开始运行的时间间隔,单位是秒,也就是说所有线程在多少时间内开始执行,如线程数设置50,设置的时间为5秒。
那么计算的公式为:
每秒执行线程数=线程数/Ramp-Up
具体如:
如设置的线程数为50,Ramp-up的时间为10,那么也就是说开启执行后,每秒会启动5个线程,如果Ramp-Up设置为
0,那么开始执行后,50个线程会立刻启动。
每秒一百个用户:
3、循环次数
每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
4、调度器
设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间。从当前时间延迟多长时间开始运行测试,也就是说惦记执行后,仅仅是初始化的场景,不会执行测试,等待延迟,到达后开始运行测试,执行的时间为持续时间设置的时间
Jmeter聚合报告参数
Label----每个请求的名称,比如HTTP请求等
#Samples----发给服务器的请求数量
Average----单个请求的平均响应时间
Median----50%请求的响应时间
90%Line----90%请求响应时间
95%Line----95%请求响应时间
99%Line----99%请求的响应时间
Min----最小的响应时间
Max----最大的响应时间
Error%----错误率=错误的请求的数量/请求的总数
Throughput----吞吐量即表示每秒完成的请求数
Received KB/sec----每秒从服务器端接收到的数据量
Sent KB/sec----每秒从客户端发送的请求的数量
性能测试报告
配置修改:
环境变量配置:
把jmeter添加到path的环境变量;
JMETER_HOME后面跟的是jmeter的路径;
mac配置jmeter环境变量
#JMETER环境变量配置
export JMETER_HOME=/Applications/tools/apache-jmeter-5.4.1
export PATH=$JMETER_HOME/bin:$PATH
Jmeter生成测试报告的命令:(进入到tests目录下再执行命令)
jmeter -n -t script/1212.jmx -l api.jtl -e -o performanceReport/
#-n -t 后面跟的是要执行的脚本 -l 后面跟的是一个后缀为jtl的文件 -e -o后面的跟的是生成的测试报告的文件名
打开测试报告的路径:
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
飞腾梦想之翼,追寻未来之光,奋斗是蜕变的起航。锲而不舍,跨越坎坷,只有拼搏才能绘就壮丽人生。相信自我,坚守初心,驶向属于自己的辉煌彼岸!勇往直前,超越极限,在奋斗中放射出耀眼的人生火花!
燃烧心中的激情,挥洒汗水的拼搏,奋斗是通往成功的康庄大道。脚踏实地,攀登高峰,只有坚持才能绽放人生的辉煌。相信自己,永不言弃,奋斗的足迹将铺就出追逐梦想的壮丽篇章!
勇往直前,莫停步,奋斗是启迪心灵的旅途。砥砺前行,超越自我,只有不懈才能绽放辉煌。相信自己,毫不退缩,拼搏的汗水将浇铸出属于自己的壮丽人生!