性能测试基础知识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文件的地址

结语

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/930350.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】机器学习的基本分类-监督学习-决策树-ID3 算法

ID3(Iterative Dichotomiser 3)是决策树的一种构造算法,由 Ross Quinlan 在 1986 年提出。它主要用于分类问题,通过信息增益选择特征来构建决策树。ID3 假设数据是离散型特征,且不支持连续型数据。 1. 核心思想 划分标…

记录:ubuntu 使用chattts的过程。

你知道什么是穷人吗?穷人就是没钱还想学习。 git GitHub - 2noise/ChatTTS: A generative speech model for daily dialogue. 因为所以。cosyvoice,gpt-s . 0.先找一个目录吧。 1.命令行模式 duyichengduyicheng-computer:~/gitee$ git clone https:…

LabVIEW氢同位素单质气体定量分装系统

氢同位素单质气体在多个行业中有重要应用,如能源和化工。传统的分装方法面临精度和自动化程度不足的问题。为此,开发了一套基于LabVIEW和质量流量控制器的定量分装系统,提高分装精度和效率,同时减少资源浪费和环境污染。 项目背景…

分类预测 | PSO-PNN粒子群优化概率神经网络多特征分类预测

分类预测 | PSO-PNN粒子群优化概率神经网络多特征分类预测 目录 分类预测 | PSO-PNN粒子群优化概率神经网络多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现PSO-PNN粒子群优化概率神经网络多特征分类预测,运行环境Matlab2018b及以…

鸿蒙开发-Divider 组件

在 ArkTS 中,Divider组件是用于在界面上显示分割线的组件,以下是其详细介绍: 基本功能 Divider组件主要用于将页面中的不同部分进行视觉上的分隔,使页面布局更加清晰和有条理,增强用户界面的可读性和美观性。 常用属…

SpringBoot实战——个人博客项目

目录 一、项目简介 ?二、项目整体架构 数据库模块 后端模块 前端模块 ?三、项目具体展示 ?四、项目的具体实现 1、一些准备工作 ??数据库、数据表的创建 ??设置数据库和MyBatis的配置 ??将前端项目引入到当前项目中 2、登录注册模块 ??实体类的创建 ?…

利用sda剩余空间,扩容(lvm)

r如果余空间没有使用,直接扩容 pvdisplay vgdisplay pvresize /dev/sda3 扩展逻辑卷的大小: lvextend -l 100%FREE /dev/mapper/openeuler-root 对于ext4文件系统: resize2fs /dev/mapper/vg_openeuler-openeuler--root 对于xfs文件系…

【Golang】Go语言编程思想(一):接口

接口 接口的概念 现在我们要实现一个函数,用于对给定的 url 进行解析,具体的代码实现如下: package mainimport ("fmt""io""net/http" )func retrieve(url string) string {resp, err : http.Get(url)if er…

智能文档解析综述:结构化信息提取的技术、挑战与前景

综述论文:https://arxiv.org/abs/2410.21169 摘要 文档解析对于将非结构化和半结构化文档(如合同、学术论文和发票)转换为结构化、机器可读的数据至关重要。通过从非结构化输入中提取可靠的结构化数据,文档解析为众多应用提供了极…

如何将CSDN博客下载为PDF文件

1.打开CSDN文章内容 2.按键盘上的f12键(或者右键—审查元素)进入浏览器调试模式,点击控制台(Console)进入控制台 3.在控制台输入以下代码,回车 4.在弹出的打印页面中将布局设置成横向,纵向会…

C# GDI绘制的小熊进度条

C# GDI小熊进度条 1、添加自定义控件winform using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;…

嵌入式入门Day25

数据结构Day 6,IO Day1 查找算法顺序查找折半查找(二分查找)哈希查找 IO概念标准IO创建递归索引(用于查询结构体定义) 文件IO标准IO缓冲区指针相关函数 查找算法 顺序查找 关键字:分为主关键字和次关键字主关键字&am…

操作系统——虚拟内存管理

笔记内容及图片整理自XJTUSE “操作系统” 课程ppt,仅供学习交流使用,谢谢。 背景 进程必须全部放入物理内存后方可运行,这个规则将程序大小限制为物理内存大小。许多情况下并不需要将整个程序置于内存中,比如程序几乎从不执行但…

Java 在Json对象字符串中查找和提取特定的数据

1、在处理JSON数据时,需要提出个别字段的值,通过正则表达式提取特定的数据 public static void main(String[] args) {//定义多个JSON对象字符串类型,假设每个对象有a,b,c 字段String strJson "{\"a\":1.23,\"b\"…

进度与预算

一个项目,如果进度上可以按时完成,一般来说预算不会超标,或者超标幅度有限。 一个项目,如果进度上严重超期,预算基本上会超标,而且超标很大。 现在很多项目,人力成本占比都比较大&#xff0c…

Ungoogled Chromium127编译指南 Windows篇 - 安装Visual Studio 2022(六)

1. 引言 在编译Ungoogled Chromium之前,正确安装和配置Visual Studio 2022是至关重要的一步。作为主要的开发环境,Visual Studio不仅提供了必要的编译工具,还包含了大量构建过程中需要的组件和库。本文将详细介绍如何在Windows系统上安装和配…

电子商务人工智能指南 3/6 - 聊天机器人和客户服务

介绍 81% 的零售业高管表示, AI 至少在其组织中发挥了中等至完全的作用。然而,78% 的受访零售业高管表示,很难跟上不断发展的 AI 格局。 近年来,电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…

精确的单向延迟测量:使用普通硬件和软件

论文标题:Precise One-way Delay Measurement with Common Hardware and Software(精确的单向延迟测量:使用普通硬件和软件) 作者信息:Maciej Muehleisen 和 Mazen Abdel Latif,来自Ericsson Research Eri…

字符串的特征

底层是char类型的数组 char[] replace():替换 split():切分 indexOf():第一个字符所在位置,从0开始算 substring(3, 6):字符串截取,包括3不包括6 字符串不可变 本质上是数组,数组是固定值…

三维扫描检测在汽车制造中的应用

三维扫描,通过先进三维扫描技术获取产品和物体的形面三维数据,建立实物的三维图档,满足各种实物3D模型数据获取、三维数字化展示、3D多媒体开发、三维数字化存档、逆向设计、产品开发、直接3D打印制造或辅助加工制造等一系列的应用。 三维扫描…