目录
简单介绍:
下载与安装
下载地址
mac 版本
windows版本
linux版本
压测使用
HTTP协议GET请求
添加线程组
编辑添加取样器
GET请求 填写压测地址信息
添加观察压测结果项
添加查看结果树
添加聚合报告
配置压测信息
参数介绍
5个线程 压测 20000次样例
5个线程 压测 30秒样例
HTTP协议POST请求
开始压测工作
需要注意
点击 绿色三角运行
查看结果树
查看聚合报告
提前停止运行
linux 安装与执行
代码样例
简单介绍:
简单理解为是一个压测工具。
压力测试是目前大型网站系统的设计和开发中不可或缺的环节,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。压力测试可以帮助我们及时发现系统的性能短板和瓶颈问题,在这个基础在上再进行针对性的性能优化,也可以帮助我们预估系统的承载能力,使我们能根据其做出一些应对措施。
JMeter是一个使用JAVA开发的Apache开源软件,用于软件的性能评估和压力测试。它最初是为测试Web应用程序而设计的,但此后又扩展到其他测试功能。
JMeter可用于静态和动态资源、Web动态应用程序的性能测试,例如:HTTP、 HTTPS、LDAP、TCP、FTP、SMTP、POP3、IMAP、Shell脚本、数据库、Java 对象,也可以用于对服务器、服务器组、网络或对象上的巨大负载,以测试在不同强度的压力测试下它们的强度和整体性能。
另外,JMeter还可以对应用程序做功能回归测试,通过创建带有断言的脚本来验证你的程序是否返回了你期望的结果。为了最大限度的灵活性,JMeter还支持使用正则表达式创建断言。
下载与安装
下载地址
ApachepI:? JMeter - Download Apache JMeter
在Binaries下面根据自己需求选择。 linux或者mac选择tgz,Windows选择zip
下载后直接解压,tgz 与 zip 不同版本解压的结构是差不多的
需要安装 jdk1.8,因为JMeter运行时需要jdk,下面给了一个连接。
JDK安装教程(有图详解)_叼着奶瓶瓶敲代码的博客-CSDN博客
关于JMeter环境配置(可不配,直接在bin目录下运行执行文件,配置环境变量打开会方便点)
1)桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”—>“新建”, 在变量名中输: JMETER_HOME,变量值中输入:D:\apache-jmeter-5.5
2)再修改CLASSPATH变量,变量值中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;% JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然后确定即可。
若不配置环境变量
mac 版本
选中文件 ctrl + c,打开终端 ctrl + v 点击回车即可
windows版本
可以直接双击执行文件
启动成功界面,后面的使用 mac 与Windows 都是一样的
界面默认是英文,可以配置中文
打开 \apache-jmeter-5.5\bin\jmeter.properties 第39行左右,改为 language=zh_CN
重启JMeter,语言已切换为中文
linux版本
一般情况下由于linux没有jmeter得操作界面,需要直接上传Windows版本或Mac版本操作界面保存的jmx文件,所以最后在讲完操作界面后再做描述,有经验的小伙伴可以直接翻到文章底部去看linux环境的安装预使用。
压测使用
HTTP协议GET请求
添加线程组
添加取样器
GET请求 填写压测地址信息
添加观察压测结果项
查看结果树:每条请求的记录
聚合报告:吞吐量(tps)、平均耗时等数据
添加查看结果树
添加聚合报告
配置压测信息
接下来配置 多少个线程 压测多时间或者压测多少次,点击线程组
默认如图
参数介绍
线程数:多少个并发
Ramp-up(秒) :一般都是1,代表1秒内把线程都启动,不用管这个参数
循环次数:执行多少次,比如跑10万笔 或者跑 100万笔
如果想压测多少分钟
循环次数勾选 永远
点击调度器 持续时间(秒) 写上压测时间
启动延迟(秒):多少秒后开始压测工作,一般都不需要这个
5个线程 压测 20000次样例
配置如下图
5个线程 压测 30秒样例
配置如下图
HTTP协议POST请求
与 GET请求类似
post json 提交需要修改两点
增加信息头
添加需要的请求头信息
2.请求的json 放进消息体数据中
开始压测工作
需要注意
一个线程组下配置多个请求,点击运行时,所有请求都会执行,如果不想执行其它的,就先禁用 ,有一个切换的按钮,禁用/启用 切换
点击 绿色三角运行
第一次执行时会提示你保存配置文件,方便后续再次执行,每次执行前,清理一下上次执行的结果数据,点击 stop 旁边 两个扫把的按钮。
点击 yes , 起个名字,点击保存,方便下次直接使用
执行效果如图
查看结果树
查看结果是否返回正常,红色是失败,绿色是成功
查看聚合报告
比较重要的几个参数
样本 :跑了多少笔交易
平均值:每笔交易平均耗时
异常%:失败率
吞吐量:tps
提前停止运行
点击 stop 按钮
每次执行前,清理一下上次执行的结果数据,点击 stop 旁边 两个扫把的按钮
linux 安装与执行
1.把压缩包放到指定位置解压
2.配置环境变量
修改配置文件
vi /etc/profile
输入 i 进入编辑模式
加入下面两行,路径根据个人情况
export JMETER_HOME=/home/ftpuser/apache-jmeter-5.4.3
export PATH=${JMETER_HOME}/bin:$PATH
刷新环境变量
source /etc/profile
查看Jmeter是否安装成功
jmeter -v
配置成功会显示对于版本
3.执行命令
jmeter -n -t 压测脚本路径 -l 指定输出文件路径
如下
jmeter -n -t /home/nccs/apache-jmeter-5.4.3/jmx/cs-500.jmx -l /home/nccs/apache-jmeter-5.4.3/jtl/500.jtl
第一个路径是要执行的jmx文件,第二个文件是结果报告存放的结果jtl文件
解释一下jmeter 的两种文件
一个是jmx结尾,是jmeter生成的请求文件,也就是上面提到保存的文件
一个是jtl,是jmeter生成的结果文件,每次压测文件需要重新指定,
4.jmter打开jtl文件
在查看结果树中导入打开是显示每条记录的详情
在聚合报告中导入打开是显示压测指标结果文章来源:https://www.toymoban.com/news/detail-755335.html
文章来源地址https://www.toymoban.com/news/detail-755335.html
代码样例
package com.example.pressdemo;
import org.springframework.web.bind.annotation.*;
@RequestMapping("/test")
@RestController
public class HelloWorld {
@GetMapping("/helloworld")
public String helloworld() {
//模拟业务耗时
int a = 0;
for (int i = 0; i < 10000; i++) {
for (int m = 0; m < 10000; m++) {
a ++ ;
}
}
return "helloworld";
}
@PostMapping("/sayHello")
public String sayHello(@RequestParam("name") String name) {
//模拟业务耗时
int a = 0;
for (int i = 0; i < 10000; i++) {
for (int m = 0; m < 10000; m++) {
a ++ ;
}
}
return "你好:" + name;
}
@PostMapping("/sayGoodBye")
public String sayGoodBye(@RequestBody Person person) {
//模拟业务耗时
int a = 0;
for (int i = 0; i < 10000; i++) {
for (int m = 0; m < 10000; m++) {
a ++ ;
}
}
return "再见:" + person.name;
}
}
到了这里,关于压测工具JMeter——安装与使用(Windows、Mac、Linux)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!