JMeter 性能测试实例

article/2025/9/29 3:20:56

JMeter 性能测试实例

1. 实验目的

熟悉 Badboy + JMeter 的自动化测试流程

2. 实验内容

2.1 使用 Badboy 录制脚本

2.2 使用 JMeter 进行性能测试

2.3 分析测试结果

3. 实验步骤

3.1 下载图 1 所示的文件并解压

图 1. 本实验需要的相关文件

3.2 双击运行 strawberry-perl-5.10.1.0.msi(自动安装),安装 perl 环境。

3.3 双击 BadboyIntaller-2.1.1 安装 Badboy。

3.4 在 WebTours-v2 文件夹下找到 StartServer.bat 文件,如图 2 所示,双击运行

图 2. 运行 StartServer.bat

正常情况下,出现的界面如图 3 所示。如果有不一样的,考虑是否发生了端口占用等错误

图 3. StartServer.bat 正常启动页面

3.5 打开 Badboy,在地址框输入测试网站,点击上方的小红原点,再点击右边的箭头开始进入录制。具体操作如图 4、图 5 所示

图 4. 打开 Badboy

图 5. 依次添加实验相关参数

3.6 进入后点击页面中出现的 sign up now,按要求填写注册信息,这里以 xioacd99,123 为例,如图 6 所示

图 6. 添加注册信息

3.7 点击 continue、再点击 continue,然后点击 sign off,完成后点击上方的小红原点结束录制,结果如图 7 所示

图 7. 脚本录制完成

3.8 点击上方选项卡 File,在下拉框中选择 Export to JMeter,将录制的脚本导出为.jmx 文件,具体操作步骤如图 8 所示

图 8. 导出为 JMeter 脚本

导出的文件的内容如图 9 所示所示

图 9. 导出的 JMeter 脚本的内容

3.9 在 apache-jmeter-5.4.1\bin 下找到 ApacheJMeter.jar 文件,双击,进入 JMeter 程序界面

3.10 点击上方的选项卡“文件”,在下拉框中选择打开,选中我们在 Badboy 中刚导出的 Script.jmx 脚本,具体操作步骤如图 10、图 11 所示

图 10. 导入 JMeter 脚本

图 11. 导入 JMeter 脚本(续)

3.11 将鼠标移动到 Thread Group,右键,添加一个察看结果树和聚合报告(添加察看结果树是为了查看每一个请求的响应结果,添加聚合报告是为了分析多用户并发测试的性能),具体操作步骤如图 12、图 13 所示

图 12. 添加察看结果树和聚合报告

图 13. 添加完成后的文件树示意

3.12 点击上方的启动按钮,验证我们录制的脚本是否存在问题,如果没有问题的话,结果如图 14 所示

图 14. 脚本正常运行,没有问题

3.13 在 login.pl 中,在 username 的值那里右键,点击 Replace values with variables,如图 15、图 16 所示

图 15. 替换用户名的值为变量

图 16. 替换完成后的结果

3.14 使用 excel 创建 user 数据,然后导出为 user.txt 文件,内容如图 17 所示

隐私关系,这里就放图了

图 17. 用户数据

3.15 在 Thread Group 那里右键添加一个 CSV 数据文件设置,具体操作步骤和参数设置如图 18、图 19 所示

图 18. 添加 CSV 数据文件设置

图 19. CSV 数据文件参数设置

3.16 然后点击 Thread Group,将线程数调成 100,开始运行

如图 20 所示,由于测试并不是在本机上运行的,所以 CPU 和内存的使用率并没有明显提升,但 WIFI 的传输量有明显提升

图 20. 测试运行时资源消耗情况

可以看到 100 个虚拟用户很快就跑完了,具体的运行结果和性能分析如图 21、图 22 所示

图 21. 测试完成后的察看结果树

图 22. 测试完成后的聚合报告

4. 结果分析

从图 22 所示的聚合报告可以看出,用户响应时间的中位数还不错,但是平均值和 90%百分位、95%百分位、99%百分位的响应时间都有点长,以第一个响应为例,分别是 8213ms、23904ms、25067ms。

而且出现了响应最小值和最大值偏差较大的情况,不知道是什么原因产生的。我用 GTmetrix 测了一下,结果如图 23 所示,不能分析,估计就是直接简单地把 html 文件上传到云了

图 23. GTmatrix 测试 webtours


http://chatgpt.dhexx.cn/article/yJlQTs1y.shtml

相关文章

jmeter性能测试步骤入门

目录 一、Jmeter简介 二、Jmeter实现性能测试 三、总结 一、Jmeter简介 1 概述 jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 …

jmeter 性能测试结果分析

一、性能测试的概念&意义 1、概念 通过技术的手段模拟大量用户同时访问被测应用,观察、记录和分析系统的各项性能指标的过程。 2、目的 评估系统的性能瓶颈,预测系统的最大用户负载能力 3、意义 能够有效评估系统的性能指标,用于系统…

JMETER性能测试

jmeter 为性能测试提供了一下特色: jmeter 可以对测试静态资源(例如 js、html 等)以及动态资源(例如 php、jsp、ajax 等等)进行性能测试 jmeter 可以挖掘出系统最大能处理的并发用户数 jmeter 提供了一系列各种形式的…

超详细!Jmeter性能测试

前言 性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。 测试流程: 需求分析→环境搭建→测试计划→脚…

(一)JMeter性能测试,完整入门篇:性能测试操作步骤

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具&#xff0…

jmeter性能测试步骤实战教程

1. Jmeter是什么? 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1. 官网下载地址: http://www.oracle.com/technetwork/java/…

如何用jmeter工具进行性能测试

前言 今天我们来说说jmeter如何进行性能测试,我们都知道jmeter工具除了可以进行接口功能测试外,还可以进行性能测试。当项目趋于稳定,根据性能需求就可以着手准备性能测试了,今天就说一说jmeter如何进行性能测试,jmet…

【软件测试】Jmeter性能测试(性能测试,Jmeter使用与结果分析)

文章目录 前言一、性能测试1. 什么是性能测试?2. 性能测试的重要性3. 性能指标——QPS和TPS①QPS②TPS 二、压测工具Jmeter1. 什么是Jmeter?2. Jmeter主要元件3. 下载安装 三、一个简单的测试案例①新建一个线程组②新建一个HTTP请求③添加HTTP信息头&am…

全网最牛,JMeter性能测试步骤与结果分析(压力 / 负载测试)详全,精品太干了

目录:导读 一、前言二、负载、压力、可靠性(非常重要)三、压力测试实战四、负载测试实战五、资源监控1、Windows自带的资源监工具2、Jmeter里面的第三方监理插件3、Linux资源监控 一、前言 1、负载:模拟业务操作对服务器造成压力…

【Java】比较器 Comparator Comparable

一、背景 我们在使用 Collections.sort() 对链表进行排序(或者使用 Arrays.sort() 对数组进行排序)时,常常需要根据不同情况自定义排序规则。比如:当我们存储学生对象时,我们需要按照学生年龄进行排序,这时…

Java 解惑:Comparable 和 Comparator 的区别

读完本文你将了解到: Comparable 自然排序Comparator 定制排序总结 Java 中为我们提供了两种比较机制:Comparable 和 Comparator,他们之间有什么区别呢?今天来了解一下。 Comparable 自然排序 Comparable 在 java.lang 包下&am…

【Java】Comparable和Comparator接口

活动地址:CSDN21天学习挑战赛 ✨博客主页: XIN-XIANG荣 ✨系列专栏:【Java SE】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录 一. Comparable接口1. Comparable简介2. 为什么要实现Comparable接口3. Comparable的实际应用 Comparator接口1. Comparator简介2.…

一篇告诉你Comparator.comparing的使用

Comparator.comparing用处 很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理,使用java8新特性 //返回 对象集合以类属性一升序排序 list.stream().sorted(Comparator.comparing(类::属性一));//返回 对象集合以类属性一降序排序 注意两种写法…

详解Comparable和Comparator

目录 Comparable接口 Comparator接口 Comparable接口 Comparable接口在源码中的声明&#xff1a; public interface Comparable<T> {public int compareTo(T o); } 可以看到&#xff0c;只要一个compareTo方法&#xff0c;也就是说&#xff0c;实现Comparable接口的类…

Java Comparator的使用

这是啥&#xff1f; Comparator是个接口&#xff0c;是一个比较器&#xff0c;常用内部类的方式实现&#xff0c;常用于实现某个类的比较规则 怎么用&#xff1f; 场景&#xff1a;假如有一个字符串集合list&#xff0c;一共有10个元素&#xff0c;乱序的。现有排序规则orde…

Comparable与Comparator浅析

欢迎支持笔者新作&#xff1a;《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》&#xff0c;同时欢迎关注笔者的微信公众号&#xff1a;朱小厮的博客。 欢迎跳转到本文的原文链接&#xff1a;https://honeypps.com/java/comparable-and-comparator-analysis/ 今天…

Comparator和Comparable的区别

一、概述 Comparable和Comparator都是两个接口&#xff0c;接口都可以用来实现集合中元素的比较、排序&#xff0c;Comparator位于包java.util下&#xff0c;而Comparable位于包java.lang下&#xff0c;Comparable接口将比较代码嵌入自身类中&#xff0c;而Comparator既可以嵌入…

Comparator使用简介

1、Lambda表达式 2、Comparator使用简介 文章目录 一、使用方式1、Stream中sorted()方法2、Stream中max()方法3、Stream中排序JSONObject方法 二、具体方法1、 compare2、 equals3、 naturalOrder4、 comparing5、 comparingInt6、 comparingLong7、 comparingDouble8、 nullsF…

Comparator详解

前面我们讲过Java提供了一个用于比较的接口Comparable,提供了一个比较的方法,所有实现该接口的类,都动态的实现了该比较方法。实际上Java中除了比较一个接口外&#xff0c;还提供了一个接口&#xff0c;该接口也是具有比较的功能&#xff0c;但该接口注重的却是比较容器&#x…

Hough变换的理解

Hough变换&#xff1a; 原理&#xff1a;将一个空间映射到另一个空间。这里是将X&#xff0c;Y空间映射到R,Φ空间。看下图&#xff1a;左图是X,Y空间的直线&#xff0c;该直线方程&#xff1a;ykx b&#xff0c;确定方程的参数k,b也可以组成一个空间&#xff0c;这个空间中的…