谷粒商城实战笔记-142-性能压测-压力测试-Apache JMeter安装使用

文章目录

一,JMeter的下载与安装

1,JMeter简介

2、JMeter 安装

2.1 下载

JMeter官网下载安装包。

2.2 安装

安装包下载后,解压即安装。

双击bin目录下jmeter.bat即可启动jmeter

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

下载对应的压缩包,解压运行 jmeter.bat 即可

二,使用JMeter

1,添加线程组

线程组用来模拟大规模用户,一个线程相当于一个用户。

右键TestPlan,选择添加线程组。

线程组参数详解:

  • 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里
    也就是设置多少个线程数。
  • Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果
    线程数为 10,准备时长为 2,那么需要 2 秒钟启动 10 个线程,也就是每秒钟启动 5 个
    线程。
  • 循环次数:每个线程发送请求的次数。如果线程数为 10,循环次数为 100,那么每个线
    程发送 100 次请求。总请求数为 10*100=1000 。如果勾选了"永远",那么所有线程会
    一直发送请求,一到选择停止运行脚本。
  • Delay Thread creation until needed:直到需要时延迟线程的创建。
  • 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为
    永远)
  • 持续时间(秒):测试持续时间,会覆盖结束时间
  • 启动延迟(秒):测试延迟启动时间,会覆盖启动时间
  • 启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。
  • 结束时间:测试结束时间,持续时间会覆盖它。

我们创建一个线程数200循环10次的线程组,即总共发出2000次请求。

2,添加 HTTP 请求

右键线程组,选择添加-取样器-HTTP请求

配置要压测的接口信息。

3,添加监听器

监听器是查看压测结果的工具,包括每个请求的结果,以及对所有压测结果的各种汇总。

右键线程组,选择添加-监听器-查看结构树/汇总报告/聚合报告/汇总图

JMeter 是一款流行的开源压力测试工具,用于测试应用程序的性能和负载能力。在 JMeter 中,监听器(Listeners)是用来收集和展示测试结果的组件。以下是你提到的四种监听器的作用介绍:

  1. 查看结构树(View Results Tree)

    • 这个监听器以树状结构展示每个请求的详细信息,包括请求头、请求体、响应头、响应体以及请求和响应的时间。
    • 它允许用户看到每个单独的请求和响应,非常适合调试和查看详细的请求/响应数据。
  2. 汇总报告(Summary Report)

    • 汇总报告提供了一个高层次的概览,显示了整个测试的统计数据,如总请求数、错误率、平均响应时间等。
    • 它通常用于快速了解测试的整体性能,而不需要深入到每个单独的请求。
  3. 聚合报告(Aggregate Report)

    • 聚合报告类似于汇总报告,但它提供了更详细的统计数据,包括最小响应时间、最大响应时间、90%的响应时间线等。
    • 这个报告可以帮助用户了解请求的分布情况和性能瓶颈。
  4. 汇总图(Merge Results)

    • 汇总图并不是 JMeter 标准监听器之一,可能是一个自定义的监听器或者是一个特定版本的 JMeter 插件。
    • 如果存在,它可能用于将多个测试结果合并在一起,提供一个统一的视图来比较不同测试的统计数据。

4,启动压测&查看分析结果

点击启动按钮,启动压测。

4.1 查看结果树

点击查看结果树,显示了每一次请求的具体参数和结果。

4.2 汇总报告

4.3 聚合报告

4.4 汇总图

相关推荐
李小星同志32 分钟前
高级算法设计与分析 学习笔记6 B树
笔记·学习
霜晨月c44 分钟前
MFC 使用细节
笔记·学习·mfc
Jhxbdks1 小时前
C语言中的一些小知识(二)
c语言·开发语言·笔记
AlexMercer10121 小时前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法
微刻时光2 小时前
Redis集群知识及实战
数据库·redis·笔记·学习·程序人生·缓存
chnyi6_ya2 小时前
一些写leetcode的笔记
笔记·leetcode·c#
青椒大仙KI113 小时前
24/9/19 算法笔记 kaggle BankChurn数据分类
笔记·算法·分类
liangbm34 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
GoppViper4 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
Charles Ray5 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习