10分钟快速上手JMeter

222 阅读4分钟

安装JMeter

Apache JMeter™应用开源软件,100%纯Java应用程序,设计用于负载功能测试和性能测试。所以压测环境安装JDK,能够让JMeter程序运行起来。官网下载、安装、配置环境变量、通过下面命令判断是否安装成功(具体安装不再赘述)。

java -version

图片

打开官网

jmeter.apache.org/download_jm…

选择二进制安装方式 apache-jmeter-5.4.1.zip

图片

mac系统解压zip

图片

bin目录下双击 jmeter

图片

如下图提示,需要安全性偏好设置-允许打开

图片图片

打开后有个终端弹窗(该弹窗不可关闭)和JMeter页面

图片

构建测试计划

“测试计划”>“添加”>“Threads(Users)”>“线程组”

启动JMeter后,JMeter会自动生成一个空的测试计划,用户可以基于该测试计划模板建立自己的测试计划。

图片

✦线程组:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组(Thread Group)就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户(virtual users),这些虚拟用户用来模拟访问被测系统。

默认1来配置 Number of Threads(users)、Ramp-up period (seconds)、Loop Count。

图片

✦线程数:这里就是指虚拟用户数,默认的输入是“1”,则表明模拟一个虚拟用户访问被测系统,如果想模拟100个用户,则此处输入100。

✦Ramp-Up 时间 (秒):虚拟用户增长时长。举个例子:比如你测试的是一个考勤系统,那么实际用户登录使用考勤系统的时候并不是大家喊1、2、3 - 走起,然后一起登录。一般情况下,可以估计出登录频率最高的时间长度,比如此处可能从8:55到9:00登录的人最多,那这里设置成300秒,如果“线程数”输入为100,则意味着在5分钟内100用户登录完毕。

✦循环次数:该处设置一个虚拟用户做多少次的测试。默认为1,意味着一个虚拟用户做完一遍事情之后,该虚拟用户停止运行。如果选中“永远”,则意味着测试运行起来之后就根本停不下来了,除非你把它强制终止。

“线程组” > “添加” > “Sampler” > “HTTP请求”

图片

设置接口比如www.baidu.com(只做单次调试,不能高并发压测域名)。

负载测试运行

点击下图“启动”按钮,可以运行此测试计划。点击启动后,很快就执行完了,但是我们从窗口并没有看到执行过程和结果。那如何进行分析呢?

图片

可以通过stop结束压测,可以通过齿轮笤帚按钮清除记录。

负载测试分析

JMeter提供了“监听器”让用户来观察测试结果。

右击 “线程组” > “监听器” > “View Results Tree” 来查看性能测试过程中请求和响应信息。

图片

如果整体执行流程符合预期,我们调大下线程组,假定3个线程数,1秒内启动,循环3次。

添加聚合报告:右击“线程组” > “监听器” > “Aggregate Report” 。然后启动:

图片

一共请求9次:线程数X循环次数=3x3=9

图片

聚合报告

图片

Samples:请求9次接口

响应时间:Average Response Time ,平均响应时间24ms,一次请求往返平均需要24ms

Error:0%说明9次接口成功返回

Throughput:说明每秒钟能处理事务12.5次

Receive Send :接收 发送的每秒io流量KB,很明显,输入的流量远小于接收的流量

更多好文推荐:

那个准点下班的人,比我先升职了...

包装成1年工作经验的测试工程师,我给他的面试前的建议如下

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号...

“入职一年,那个被高薪挖来的自动化软件测试被劝退了。”

4个月自学软件测试面进阿里!如何从功能测试转成自动化...我经历了什么