当前位置: 首页 > news >正文

性能测试基础知识jmeter使用

   博客主页:花果山~程序猿-CSDN博客

文章分栏:测试_花果山~程序猿的博客-CSDN博客

关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长!

在这里插入图片描述

目录

性能指标

1. 并发数 (Concurrency)

2. 吞吐量 (Throughput) / QPS (Queries Per Second)

3. 响应时间 (Response Time)

指标之间的关系

性能测试分类

基准测试

并发测试

负载测试

压力测试

jmeter安装

配件之间的优先级

网页请求默认值

JSON提取器 

登录配置元件

形成测试报告


嗨!收到一张超美的图,愿你每天都能顺心!

性能指标概念

1. 并发数 (Concurrency)

定义:并发数指的是在同一时刻向系统发起请求的用户或线程的数量。换句话说,它表示的是系统在某一瞬间正在处理的请求数量。

重要性:高并发数意味着系统需要同时处理更多的请求,这对服务器资源(如CPU、内存)提出了更高的要求。测试时设置合理的并发数可以帮助模拟真实的用户负载情况,评估系统在压力下的表现。

2. 吞吐量 (Throughput) / QPS (Queries Per Second)

定义:
- 吞吐量:是指单位时间内系统能够处理的工作量,通常以每秒完成的请求数来衡量
- QPS(每秒查询次数):是吞吐量的一种具体表现形式,特指每秒钟内系统处理的HTTP请求或其他类型的操作数量

重要性:吞吐量是衡量系统性能的关键指标之一。一个高性能的应用程序应该能够在高并发的情况下保持较高的吞吐量。通过监控和优化吞吐量,可以确保系统在面对大量请求时依然能快速响应。

注意:吞吐量不仅取决于系统的处理能力,还受到网络带宽、数据库访问速度等多种因素的影响。

3. 响应时间 (Response Time)

定义:响应时间是从客户端发送请求到接收到完整响应之间的时间间隔。它可以分为几个阶段:
- DNS解析时间
- 建立TCP连接的时间
- SSL握手时间(如果是HTTPS)
- 发送请求时间和接收响应时间

重要性:响应时间直接影响用户的体验。较短的响应时间意味着更好的用户体验;而过长的响应时间可能会导致用户流失。因此,在性能测试中,我们需要特别关注平均响应时间、最大响应时间以及90%响应时间等统计值。

指标之间的关系

- 并发数与吞吐量:一般来说,随着并发数的增加,吞吐量也会相应提高,但超过一定阈值后,由于资源耗尽或瓶颈问题,吞吐量可能会开始下降。
- 吞吐量与响应时间:当吞吐量增加时,如果系统资源足够且没有达到瓶颈,响应时间可能保持稳定甚至缩短。然而,一旦超过了系统的承载极限,响应时间往往会急剧增加。
- 并发数与响应时间:在低并发情况下,响应时间通常较短;但是,随着并发数的增长,如果没有足够的资源支持,响应时间会逐渐变长。

性能测试分类

基准测试

定义:基准测试是指在系统或应用的特定配置下,通过执行一系列标准的操作来测量其性能,并记录下这些操作的结果作为参考点(即“基准”)。这些结果通常包括响应时间、吞吐量等关键性能指标。

我的理解是:在做(代码修改,软件更新后),可以通过重新运行相同的测试来比较新的性能数据与原始基准,以确定改进效果。

并发测试

定义:并发测试旨在验证系统在多个用户同时访问的情况下是否能够正确处理请求,以及这种情况下系统的性能表现如何。

理解:它关注的是在并发状态下,系统能否保持一致性和准确性,即使是在高并发条件下。

负载测试

定义:负载测试是指向系统施加逐渐增加的工作负载,直到达到预期的最大容量为止。目的是观察系统在正常工作负载及超出常规范围时的行为,包括响应速度、资源利用率等方面。

理解:从目的角度出发:

  • 确定最大承载能力:找出系统在不降低服务质量的前提下所能承受的最大用户数量或交易量
  • 预测扩展需求:基于测试结果预估未来业务增长所需的额外资源或架构调整

压力测试

定义:压力测试是将系统置于极端条件之下,例如非常高的并发用户数、长时间持续运行或者资源极度匮乏的状态,以检验系统在这种环境下是否仍然稳定可靠,并且能够在恢复正常状态后继续正常运作。

理解目的:

  • 发现极限和恢复点:识别出导致系统崩溃或严重性能下降的具体阈值;同时确认系统从故障中恢复的能力。
  • 确保容错性:验证系统设计中的容错机制(熔断,功能降级)是否有效,在面对意外情况时能否保护数据完整性和用户体验。

jmeter安装

看这位童鞋 

Jmeter安装教程【5.5】【Windows】jmeter详细安装配置教程,装不好你打我-CSDN博客

配件之间的优先级

首先咱讲一下优先级,学过编程的知道变量的作用域 ,这里的也是如此,在最外层就是全局变量,一旦设置,全局受用;这里多用来存放url,或者特殊参数头的存放点;并支持覆盖.

网页请求默认值

我的理解是,在未来面对数以百记得的网页请求页,我们需要设置基本默认信息,这里就使用到网页请求默认值。

JSON提取器 

关于cookie值获取,这里就是告诉咱,如何从结果中保存一个数据到外部作用域中,这里就用到了JSON提取器,提取结果储存到一个全局变量中。

登录配置元件

CSV提交信息,场景1:多账号登录,登录信息从csv文件中获取

cookie管理器,比自己保存到全局,然后再调用变量更方便,cookie管理器会自动提取cookie,并作用于未来线程

插件使用 

从官网上下载jmeter-plugins-manager.jar放到jmeter/lib下,重启jmeter,

点击插件即可下载插件

形成测试报告

进入cmd,存放.jmx的目录中,方便操作,输入代码:

jmeter -n -t /path/to/testplan.jmx -l /path/to/resultsfile.jtl -e -o /path/to/outputfolder

输入代码后,他会启动jmeter进行实时测试,中间需要等待其测试完毕,即可得到最新的测试报告。 

  • -n:以非GUI模式运行JMeter。
  • -t:指定要运行的测试计划文件路径。
  • -l :  生成日志文件地址
  • -e : 生成html测试报告
  • -o : 存放html文件的地址

结语

本小节就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区评论,如果给小伙伴带来一些收获,请动动你发财的小手点个免费的赞,你的点赞和关注永远是博主创作的动力源泉。

相关文章:

性能测试基础知识jmeter使用

博客主页:花果山~程序猿-CSDN博客 文章分栏:测试_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 性能指标 1. 并发数 (Con…...

Ceph文件存储

Ceph文件存储1.概念:数据以文件的形式存储在存储介质上,每个文件都有一个唯一的文件名并存储在一个目录结构中。提供方便的文件访问接口,支持多种文件操作,如创建、删除、读取、写入、复制等。用于存储和管理个人文件,如文档、图片…...

Hive分区表新增字段并指定位置

Hive分区表新增字段并指定位置 1、Hive分区表新增字段2、CASCADE关键字3、历史分区新增列为NULL问题 1、Hive分区表新增字段 Hive分区表新增字段并指定位置主要分为两步:新增字段和移动字段 1)新增字段 ALTER TABLE table_name ADD COLUMNS (col_name …...

关系型数据库(RDBMS)与非关系型数据库(NoSQL)应用场景

关系型数据库适用于事务性、强一致性和结构化数据场景;非关系型数据库则在高并发、大数据、非结构化数据场景中表现更优;数据量和并发量增加时,应通过分库分表、缓存、集群扩展等手段进行优化。 1. 在什么样的业务场景下,你会优先…...

浅谈CI持续集成

1.什么是持续集成 持续集成(Continuous Integration)(CI)是一种软件开发实践,团队成员频繁地将他们的工作成果集成到一起(通常每人每天至少提交一次,这样每天就会有多次集成),并且在每次提交后…...

华为新手机和支付宝碰一下 带来更便捷支付体验

支付正在变的更简单。 11月26日,华为新品发布会引起众多关注。发布会上,华为常务董事余承东专门提到,华为Mate 70和Mate X6折叠屏手机的“独门支付秘技”——“碰一下”,并且表示经过华为和支付宝的共同优化,使用“碰…...

shell编程基础笔记

目录 echo改字体颜色和字体背景颜色 bash基本功能: 运行方式:推荐使用第二种方法 变量类型 字符串处理: 条件判断:(使用echo $?来判断条件结果,0为true,1为false) 条件语句&a…...

VS Code配置Lua调试环境

我这里选用Emmylua进行Lua代码调试,调试环境配置如下: 一、安装Emmylua 在VS Code扩展里搜索emmylua,然后进行安装, 如下 二、配置launch.json 在Run and Debug里生成launch.json文件 点击以上菜单后,生成launch.json文件如下: 三、配置.e…...

FPGA(一)Quartus II 13.1及modelsim与modelsim-altera安装教程及可能遇到的相关问题

零.前言 在学习FPGA课程时,感觉学校机房电脑用起来不是很方便,想着在自己电脑上下载一个Quartus II 来进行 基于 vhdl 语言的FPGA开发。原以为是一件很简单的事情,没想到搜了全网文章发现几乎没有一个完整且详细的流程教学安装(也…...

【单片机】ESP32-S3+多TMC2209控制步进电机系列1 UART通信及无传感回零 硬件部分

目录 1. 硬件选型1.1 esp32硬件型号1.2 TMC2209 硬件型号 2 原理接线图2.1 esp32接线2.2 TMC2209接线2.2.1 单向通讯 不配置地址2.2.2 单向通讯 配置地址2.2.3 双向通讯 单UART 【本文采用】2.2.4 双向通讯 多UART 3. 成品效果 1. 硬件选型 1.1 esp32硬件型号 采用的是微雪ES…...

Django之ORM

1.ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对…...

html css 图片背景透明

html css图标背景透明 css属性&#xff1a; background-color:transparent; mix-blend-mode: multiply; 完整HTML代码&#xff1a; <html><head><title>Test</title></head><body><div id"test" style"background-col…...

使用ALB实现gRPC协议的负载均衡

gRPC是一种高性能、开源的远程过程调用框架&#xff0c;当您使用gRPC进行后端服务通信时&#xff0c;您可使用应用型负载均衡ALB&#xff08;Application Load Balancer&#xff09;实现gRPC协议的负载均衡&#xff0c;统一流量入口。gRPC基于HTTP/2协议进行通信&#xff0c;目…...

解决IDEA的easycode插件生成的mapper.xml文件字段之间逗号丢失

问题 easycode插件生成的mapper.xml文件字段之间逗号丢失&#xff0c;如图 解决办法 将easycode(在settings里面的othersettings)设置里面的Template的mapper.xml.vm和Global Config的mybatisSupport.vm的所有$velocityHasNext换成$foreach.hasNext Template的mapper.xml.vm(…...

【Linux测试题】

1. 选择题 题目&#xff1a; 如果想将电脑中Windows C盘&#xff08;hd1&#xff09;安装在Linux文件系统的/winsys目录下&#xff0c;请问正确的命令是&#xff08;&#xff09;。 选项&#xff1a; A. root104.123.123.123:~# mount dev/hd1 /winsys B. root104.123.123.12…...

python使用openpyxl处理excel

文章目录 一、写在前面1、安装openpyxl2、认识excel窗口 二、基本使用1、打开excel2、获取sheet表格3、获取sheet表格 尺寸4、获取单元格数据5、获取区域单元格数据6、sheet.iter_rows()方法7、修改单元格的值8、向表格中插入行数据9、实战&#xff1a;合并多个excel 三、获取E…...

【JavaWeb后端学习笔记】Mybatis基础操作以及动态SQL(增、删、改、查)

Mybatis 0、环境准备0.1 准备数据库表emp&#xff1b;0.2 准备SpringBoot工程0.3 配置文件中引入数据库连接信息0.4 创建对应的实体类0.5 准备Mapper接口 1、MyBatis基础操作1.1 删除1.2 新增&#xff08;主键返回&#xff09;1.3 更新1.4 查询&#xff08;解决字段名与类属性名…...

基于MATLAB野外观测站生态气象数据处理分析实践应用

1.本课程基于MATLAB语言 2.以实践案例为主&#xff0c;提供所有代码 3.原理与操作结合 4.布置作业&#xff0c;答疑与拓展 示意图&#xff1a; 以野外观测站高频时序生态气象数据为例&#xff0c;基于MATLAB开展上机操作&#xff1a; 1.不同生态气象要素文件的数据读写与批处理…...

IP 地理位置定位技术原理概述

本文深入探讨 IP 地理位置定位技术的原理。介绍了 IP 地址的基本概念及其在网络中的作用&#xff0c;随后阐述了基于数据库查询、基于网络拓扑分析以及基于机器学习算法的三种主要 IP 地理位置定位技术原理中的基于IP数据库查询。 IP 地址基础 IP 地址是互联网协议&#xff0…...

C语言(分支结构)

问题引出 我们在程序设计往往会遇到如下的问题&#xff0c;比如下的函数的计算。 也就是我们是必须要通过一个条件的结果来选择下一步的操作&#xff0c;算法上属于一个分支结构&#xff0c;C语言中实现分支结构主要使用if语句。 条件判断 根据某个条件成立与否&#xff0c…...

批量将不同的工作簿合并到同一个Excel文件

批量将不同的工作簿合并到同一个Excel文件 下面是一个示例&#xff0c;展示如何批量将不同的工作簿合并到同一个Excel文件&#xff0c;并生成模拟数据。我们将使用 Python 的 pandas 库来完成这个任务。具体步骤如下&#xff1a; 步骤 1: 安装必要的库 首先确保你已安装 pan…...

详解AI网关助力配电房实现智能化管控应用

​对于一些建设年份久远的老旧配电房&#xff0c;由于配套降温散热设施设备不完善、线路设备老化等因素&#xff0c;极易出现因环境过热而影响设备正常稳定运行&#xff0c;进而导致电气故障甚至火灾等事故产生。 基于AI网关的配电房智能监控及管理 针对配电房的实时安全监测及…...

2025美赛数学建模常用数据库网站大全

优秀模板写作红宝书数学模型获取——更多资料请点击下方名片进群获取。 一、可以查询美国各个领域经济指标的网站: olap.epsnet.com.cnhttps://www.ers.usda.gov/data-products/rice-yearbook/www.ers.usda.govU.S. Energy Information Administration (EIA) www.eia.govhttp…...

Wordpress设置固定链接形式后出现404错误

比如固定连接设置为 /archives/%post_id%.html 这种形式&#xff0c;看起来比较舒服。对搜索引擎也友好。 出现404需要设置伪静态...

我最近在干什么【1】

前言 打算开一个新系列&#xff0c;偏休闲点的&#xff0c;不是完整全面的技术分享&#xff0c;话题还是聚焦个人成长&#xff08;学的技术、了解到的信息、看的书……&#xff09; 方面。文章偏意识流点&#xff0c;单纯分享我最近在干什么&#xff0c;不定期更新&#xff0c…...

[Vue3]computed原理

Computed原理 不管在是 Vue 2 还是在 Vue 3 中&#xff0c;对 computed 本身的实现原理基本都是一样的。当使用 computed 计算属性时&#xff0c;组件初始化会对每一个计算属性都创建对应的 watcher , 然后在第一次调用自己的 getter 方法时&#xff0c;收集计算属性依赖的所有…...

Vue工程化开发中各文件的作用

1.main.js文件 main.js文件的主要作用&#xff1a;导入App.vue&#xff0c;基于App.vue创建结构渲染index.html。...

【c++笔试强训】(第三十一篇)

目录 最⻓回⽂⼦序列&#xff08;动态规划-区间dp&#xff09; 题目解析 讲解算法原理 编写代码 添加字符&#xff08;字符串&#xff09; 题目解析 讲解算法原理 编写代码 最⻓回⽂⼦序列&#xff08;动态规划-区间dp&#xff09; 题目解析 1.题目链接&#xff1a;最…...

Go 1.19.4 HTTP编程-Day 20

1. HTTP协议 1.1 基本介绍 HTTP协议又称超文本传输协议&#xff0c;属于应用层协议&#xff0c;在传输层使用TCP协议。HTTP协议属是无状态的&#xff0c;对事务处理没有记忆能力&#xff0c;如果需要保存状态需要引用其他技术&#xff0c;如Cookie。HTTP协议属是无连接的&…...

MySQL 8.0 的主主复制(双向复制)

在 Windows Server 2022 Datacenter 上配置 MySQL 8.0 的主主复制&#xff08;双向复制&#xff09;&#xff0c;步骤与 Linux 类似&#xff0c;但有一些特定的配置和路径需要注意。以下是详细的简化步骤&#xff1a; 1. 使用 root 用户登录 确保你以 root 用户登录到 MySQL …...