前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10分钟快速上手JMeter

10分钟快速上手JMeter

作者头像
测试工程师
发布2022-06-15 19:11:03
5910
发布2022-06-15 19:11:03
举报
文章被收录于专栏:测试世界

安装JMeter

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

代码语言:javascript
复制
java -version

打开官网

https://jmeter.apache.org/download_jmeter.cgi

选择二进制安装方式 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,很明显,输入的流量远小于接收的流量

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档