简单易懂!让你快速掌握Jmeter的安装与使用教程
使用Jmeter之前,需要安装JDK,否者不能运行
Jmeter下载:进入官网:http://jmeter.apache.org/
Jmeter环境变量的配置
1)进入环境变量配置页面
2)新建一个变量:JMETER_HOME,变量值为为解压的Jmeter安装路径。
3)配置classpath变量,新家系统变量classpath里面添加变量值:%JMETER_HOME%\lib\ext\Apache_JMeter_core,jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar
4)基本配置完成后验证配置是否正确,是否可用
进入到解压的jmeter文件,进入bin目录,双击打开jmeter.bat文件。如果弹出两个界面就说明配置成功(一个命令界面,一个工作页面)
Jmeter的使用方法
1)测试计划->添加->线程(用户)->线程组
2)设置并发数量
3)添加协议及相关配置信息
线程组->添加->取样器->HTTP请求
4)配置相关协议的信息
5)为线程添加监听器(自己选择)
6)启动测试,查看报告(点击那个绿色的启动按钮)
Label: 每个Jmeter的element的name值(http request的值)
Samples(样本):样本数量,多少个请求
Average(平均值):平均响应时间,默认是单个request的平均响应时间。
Median(中位数):50%的用户的响应时间
90%%Line:90%用户的响应时间
95%Line:95%用户的响应时间
99%Line:99%用户的响应时间
Min(最小值):最小响应时间
Max(最大值):最大响应时间
Error%(异常%):本测试中出现错误的请求数量/请求的总数
Throughout(吞吐量):默认情况下表示每秒完成的请求数
KB/sec(接受kb):每秒从服务器端接受到的数据量
Jmeter通过分布式实现高并发
由于Jmeter创建一个用户就需要一个单独的线程,因此在一台计算机上对成百上千万的用户基准测试是不切实际的,于是需要通过分布式的方式来进行解决。即是一个电脑上的Jmeter作为controller控制其他电脑(agent)上的Jmeter运行,以此来实现高并发,
1)在作为agent的计算机上安装Jmeter,比如ip为192.168.0.2和192.168.0.1的两台计算机。
2)在controller上的Jmeter的bin目录找到Jmeter.properties文件并打开
3)找到”remote_hosts=127.0.0.1“(127.0.0.1即表示agent的机器),改为”remote_hosts=192.168.0.1:1099,192.168.0.2:1099"(1099表示Jmeter的controller和Agent之间进行通信的端口号。(只用修改作为controller上的文件即可)
4)依次启动controller上的jmeter_server.bat和Agent上的jmeter_server.bat
5)启动controller上的Jmeter.bat进入运行->远程启动->可以看到那两个agent
6)需要那个电脑执行就点那个
Jmeter添加Stepping Thread Group 插件来逐步负载
1)下载plugins-manager.jar,下载地址:https://jmeter-plugins.org/downloads/all/
2)将下载后的jar包直接放进Jmeter安装目录下的lib->ext目录下,重启Jmeter
3)打开Jmeter开始安装jpgc-Standard Set
然后选择Available Plugins 滑到最下面找到jpgc-Standard Set 勾选并应用(我这里由于安装好了,所以没有这个选项)
4)使用,测试计划->添加->线程->Stepping Thread Group
5)参数介绍
This group will start 100 threads:设置单台负载机,线程组启动的线程总数为100个
First,wait for 0 seconds:启动第一个线程之前,需要等待0秒
Then start 10 threads:设置最开始启动10个线程
Next,add 10 threads every 60 thread, using ramp-up 1 secoonds:每隔60秒在1秒内启动10个线程
Then hold load for 300 seconds:单台负载机启动的线程总数达到100个,持续运行300秒
Finally,stop 10 thread every 1 seconds:最后每隔1秒,停止10个线程
6)遇到的问题
在创建线程后,每个线程会持续创建请求,因此在后面会出现端口不够用的情况,每次请求就会占用一个端口,而请求完后tcp连接会保持TIME_WAIT状态,从而是得端口得不到释放,测试一会后就会报错
希望有大神看到了帮忙解答。
参考链接:
https://blog.****.net/wz1997/article/details/78906244
https://www.cnblogs.com/monjeo/p/9330464.html
推荐阅读
-
简单易懂!JMeter的安装与使用指南
-
简单易懂!JMeter的安装与环境变量设置教程
-
简单易懂!让你快速掌握Jmeter的安装与使用教程
-
简单易懂!让你轻松掌握JMeter的安装、配置和运行方法
-
简单易懂!让你快速上手JMeter的安装与配置
-
简单易懂!让你快速上手JMeter的安装与使用教程
-
简单易懂!让你轻松掌握JMeter的安装和环境变量设置教程
-
【2022新手指南】Java编程进阶之路 - 六、技术架构篇 ### MySQL索引底层解析与优化实战 - 你会讲解MySQL索引的数据结构吗?性能调优技巧知多少? - Redis深度揭秘:你知道多少?从基础到哨兵、主从复制全梳理 - Redis持久化及哨兵模式详解,还有集群搭建和Leader选举黑箱打开 - Zookeeper是个啥?特性和应用场景大公开 - ZooKeeper集群搭建攻略及 Leader选举、读写一致性、共享锁实现细节 - 探究ZooKeeper中的Leader选举机制及其在分布式环境中的作用 - Zab协议深入剖析:原理、功能与在Zookeeper中的核心地位 - RabbitMQ全方位解读:工作模式、消费限流、可靠投递与配置策略 - 设计者视角:RabbitMQ过期时间、死信队列与延时队列实践指南 - RocketMQ特性和应用场景揭示:理解其精髓与差异化优势 - Kafka详细介绍:特性及广泛应用于实时数据处理的场景解析 - ElasticSearch实力揭秘:特性概述与作为搜索引擎的广泛应用 - MongoDB认知升级:非关系型数据库的优势阐述,安装与使用实战教学 - BIO/NIO/AIO网络模型对比:掌握它们的区别与在网络编程中的实际应用 - Netty带你飞:理解其超快速度背后的秘密,包括线程模型分析 - 网络通信黑科技:Netty编解码原理与常用编解码器的应用,Protostuff实战演示 - 解密Netty粘包与拆包现象,怎样有效应对这一常见问题 - 自定义Netty心跳检测机制,轻松调整检测间隔时间的艺术 - Dubbo轻骑兵介绍:核心特性概览,服务降级实战与其实现益处 - Dubbo三大神器解读:本地存根与本地伪装的实战运用与优势呈现 ----------------------- 七、结语与回顾
-
如何轻松使用JMeter进行HTTP接口测试 - 一步步教你设置线程组、 cookie、默认值与Sampler,加上响应断言和监听器,打造基础测试案例。针对复杂情况,将子系统和流程测试分类组织,确保数据一致性。同时,别忘了感谢阅读,给新手提供实战学习资源与全套测试指南,助你轻松踏上自动化测试之路! - 在"测试计划"点击右键,添加"线程组"并设定初始"线程数"和"循环次数" - 配置"HTTP Cookie管理器"与"Http请求默认值",输入目标系统信息,如域名、端口、协议等,让所有相关Sampler共享这些默认设置 - 在线程组内增加"HTTP Request"的Sampler,并填入接口详情,比如路径、请求方法及参数 - 添加"响应断言"检查接口返回结果,通过正则表达式验证预期结果 - 安装监听器,实时查看测试执行状况 - 如需处理流程性接口,请依次添加多个相关Sampler,关联前后请求间的上下文数据 特别提示:为了帮助大家避免学习中的曲折,我们准备了详尽的视频和文档资料库,无论你是软件测试的新手还是老司机,都能从中找到所需的全方位支持。只需点击下方链接加入我们的学习交流社群,就能立刻获取这份珍贵的学习宝藏!再次感谢您的耐心阅读,愿它成为您前行路上的一大助力!
-
简单易懂!让你快速了解并掌握Gin框架中的JWT功能