jmeter 压测常用静默参数解释应用
简介:
JMeter静默压测(即无界面压测)是一种常用的性能测试方法,用于模拟多个用户同时访问系统并测量系统的响应时间和吞吐量等关键性能指标。在JMeter静默压测中,常用的压测参数及其解释如下:
一、基本压测参数
- 线程数(Threads):
定义:并发用户的数量,即模拟同时访问系统的用户数量。
解释:线程数越多,表示同时访问系统的用户越多,系统的负载也就越大。 - Ramp-Up Period:
定义:线程启动的时间间隔,即所有线程在多少秒内全部启动。
解释:如果设置为1秒,则表示所有线程在1秒内依次启动;如果设置为0,则表示所有线程同时启动。这个参数的设置会影响压测的平滑性,避免瞬间产生大量并发请求。 - 循环次数(Loop Count):
定义:每个线程发送请求的次数。
解释:如果设置为一个具体的数字,则表示每个线程发送指定次数的请求后停止;如果设置为“永远”,则表示线程会一直发送请求直到压测结束。 - 调度器(Scheduler):
定义:用于设置压测的启动时间、结束时间、持续时间和启动延迟时间等参数。
解释:通过调度器可以更精确地控制压测的开始和结束时间,以及压测的持续时间。
二、性能衡量指标
- Samples:
定义:在压测过程中发出的请求总数。
解释:这个指标反映了压测期间系统接收到的请求数量。 - Average:
定义:平均响应时间,即服务器处理一个请求所需的平均时间(单位:毫秒)。
解释:这个指标反映了系统的平均响应速度,是评估系统性能的重要指标之一。 - Median:
定义:响应时间的中位数,即所有请求的响应时间排序后位于中间的值。
解释:这个指标提供了响应时间的分布情况,有助于了解大多数请求的响应时间。 - 90% Line、95% Line、99% Line:
定义:分别表示90%、95%、99%的用户请求响应时间不超过某个值。
解释:这些指标有助于了解系统在不同百分位下的响应时间,从而评估系统的稳定性和可靠性。 - Min:
定义:最小响应时间,即所有请求中响应时间最短的那个值。
解释:这个指标反映了系统在最佳情况下的响应速度。 - Max:
定义:最大响应时间,即所有请求中响应时间最长的那个值。
解释:这个指标反映了系统在最坏情况下的响应速度,有助于发现系统的瓶颈和潜在问题。 - Error%:
定义:错误率,即测试过程中出现的错误请求数量占请求总数的百分比。
解释:这个指标反映了系统的稳定性和准确性,是评估系统性能的重要指标之一。 - Throughput(TPS):
定义:吞吐量,即服务器每秒处理的请求数。
解释:这个指标反映了系统的处理能力,是评估系统性能的关键指标之一。吞吐量越高,表示系统的处理能力越强。
三、其他参数
- 参数化:
定义:将请求中的某些参数设置为变量,以便在压测过程中动态生成不同的请求。
解释:参数化可以模拟真实用户的行为,提高压测的准确性和可信度。 - 断言:
- 定义:在请求中添加条件判断,用于验证服务器返回的结果是否符合预期。
解释:断言可以帮助发现系统中的错误和异常,提高压测的有效性。 - 监听器:
定义:用于收集和展示压测过程中的各种性能数据。
解释:监听器可以实时显示系统的响应时间、吞吐量等关键指标,有助于及时发现和解决性能问题。 - 综上所述,JMeter静默压测中的常用压测参数包括线程数、Ramp-Up Period、循环次数、调度器以及性能衡量指标如Samples、Average、Median、90% Line、95% Line、99% Line、Min、Max、Error%和Throughput等。这些参数共同构成了JMeter压测的核心内容,有助于全面评估系统的性能表现。
jmeter.bat(Windows)/jmeter.sh(Linux) -n -t test-file [-p property-file] [-l results-file] [-j log-file] -e -o [Path to output folder] -Jthread number-name
eg:${JMETER_HOME}/bin/jmeter -n -t ${jmx_file} -l ${jtl_name} -e -o ${report_path_name} -Jthread=${num}
- -n: 指定以非GUI(图形用户界面)模式运行JMeter。这意味着JMeter将在命令行中执行测试计划,而不会打开图形界面。
- -t test-file: 指定要运行的测试文件(.jmx文件)。test-file是一个动态参数,需要替换为实际的.jmx文件路径。这个文件包含了测试计划的配置和脚本。
动态值:您需要将test-file替换为包含.jmx文件的实际路径,例如-t /path/to/your/testplan.jmx。 - [-p property-file]: 可选参数,指定属性文件,用于加载JMeter的配置。property-file是一个动态参数,需要替换为实际的属性文件路径。属性文件可以包含自定义的配置参数。
- 动态值:如果需要使用自定义属性文件,请将property-file替换为属性文件的实际路径,例如-p /path/to/your/jmeter.properties。如果不使用此参数,JMeter将使用默认的配置。
- [-l results-file]: 可选参数,指定结果文件的路径和名称,用于保存测试结果。results-file是一个动态参数,需要替换为实际的结果文件路径。测试结束后,JMeter将结果保存为.jtl格式的文件。
- 动态值:您需要将results-file替换为希望保存测试结果的实际路径和文件名,例如-l /path/to/your/results.jtl。
- [-j log-file]: 可选参数,指定日志文件的路径和名称,用于记录JMeter的日志信息。log-file是一个动态参数,需要替换为实际的日志文件路径。
动态值:您需要将log-file替换为希望保存日志信息的实际路径和文件名,例如-j /path/to/your/jmeter.log。 - -e -o [Path to output folder]: 这组参数用于生成HTML格式的测试结果报告。-e表示生成报告,-o后面跟的是报告的输出目录。[Path to output folder]是一个动态参数,需要替换为实际的输出目录路径。这个目录将包含生成的HTML报告文件。
- -Jthread :通过自定义函数P功能定义的动态线程数量
动态值:您需要将[Path to output folder]替换为希望保存报告的实际目录路径,例如-o /path/to/your/report-folder。请注意,指定的输出文件夹必须存在且为空文件夹,因为JMeter会在该文件夹中生成报告文件。
相关文章:

jmeter 压测常用静默参数解释应用
简介: JMeter静默压测(即无界面压测)是一种常用的性能测试方法,用于模拟多个用户同时访问系统并测量系统的响应时间和吞吐量等关键性能指标。在JMeter静默压测中,常用的压测参数及其解释如下: 一、基本…...

【开源】A059-基于SpringBoot的社区养老服务系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看项目链接获取⬇️,记得注明来意哦~🌹 赠送计算机毕业设计600个选题ex…...

《智能体雏形开发(高阶实操)》开发计划概述
智能体雏形开发计划 通过本计划,逐步完成一个可以真实运行的智能体雏形。 最终完成一个**“用户日志文件生成日报,日报再进一步汇总成周报”**的任务驱动型智能体雏形 第一阶段:基础准备与环境搭建 1. 学习基础知识 了解智能体的概念、类型和技术框架。学习大模型(如阿里…...

QT学习笔记-QStringList,QTimer
QStringList-存储和管理一系列的字符串 在Qt框架中,QStringList 是一个模板类 QList<QString> 的特化,专门用于处理 QString 对象(即Qt中的字符串)的列表。当你看到这样的声明: QStringList m_rec_topicList; …...

如何使用brew安装phpredis扩展?
如何使用brew安装phpredis扩展? phpredis扩展是一个用于PHP语言的Redis客户端扩展,它提供了一组PHP函数,用于与Redis服务器进行交互。 1、cd到php某一版本的bin下 /usr/local/opt/php8.1/bin 2、下载 phpredis git clone https://githu…...

游戏引擎学习第25天
Git: https://gitee.com/mrxiao_com/2d_game 今天的计划 总结和复述: 这段时间的工作已经接近尾声,虽然每次编程的时间只有一个小时,但每一天的进展都带来不少收获。尽管看起来似乎花费了很多时间,实际上这些日积月累的时间并未…...

多线程运行时,JVM(Java虚拟机)的内存模型
在多线程运行时,JVM(Java虚拟机)的内存模型主要涉及以下几个方面: 1. 主内存和工作内存 JVM内存模型定义了主内存和工作内存的概念。主内存是所有线程共享的内存区域,而工作内存是每个线程私有的内存区域。线程对变量…...

kernel crash数据解析
crash数据解析 crash解析工具下载和编译方法如下: git clone https://github.com/crash-utility/crash.git cd crash; make targetARM64 crash工具解析ramdump文件: 1. 将dump 出来的ramdump 文件拷贝到 Linux 系统 2. 找到当前Linux 内核对应的vm…...

CLIP模型也能处理点云信息
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

利用若依代码生成器实现课程管理模块开发
目录 前言1. 环境准备1.1 数据库表设计与导入 2. 使用若依代码生成器生成模块代码2.1 导入数据库表2.2 配置生成规则2.2.1 基本信息配置2.2.2 字段信息配置2.2.3 生成信息配置 3. 下载与集成生成代码3.1 解压与集成3.2 启动项目并验证 4. 优化与扩展4.1 前端优化4.2 后端扩展 结…...

用Python做数据分析环境搭建及工具使用(Jupyter)
目录 一、Anaconda下载、安装 二、Jupyter 打开 三、Jupyter 常用快捷键 3.1 创建控制台 3.2 命令行模式下的快捷键 3.3 运行模式下快捷键 3.4 代码模式和笔记模式 3.5 编写Python代码 一、Anaconda下载、安装 【最新最全】Anaconda安装python环境_anaconda配置python…...

SpringBoot实战(三十二)集成 ofdrw,实现 PDF 和 OFD 的转换、SM2 签署OFD
目录 一、OFD 简介1.1 什么是 OFD?1.2 什么是 版式文档?1.3 为什么要用 OFD 而不是PDF? 二、ofdrw 简介2.1 定义2.2 Maven 依赖2.3 ofdrw 的 13 个模块 三、PDF/文本/图片 转 OFD(ofdrw-conterver)3.1 介绍:…...

linux环境人大金仓数据库修改密码
1.进入人大金仓安装目录 cd /home/opt/Kingbase/ES/V9/Server/bin2.连接数据库 ./ksql -U system -d mydb -h 127.0.0.1 -p 54321-u 用户名 -d 数据库名 -h ip地址 -p 端口号 3.修改密码 ALTER USER system WITH PASSWORD 密码;...

使用ESP32通过Arduino IDE点亮1.8寸TFT显示屏
开发板选择 本次使用开发板模块丝印为ESP32-WROOM-32E 开发板库选择 Arduino IDE上型号选择为ESP32-WROOM-DA Module 显示屏选择 使用显示屏为8针SPI接口显示屏 驱动IC为ST7735S 使用库 使用三个Arduino平台库 分别是 Adafruit_GFXAdafruit_ST7735SPI 代码详解 首…...

Spring Cloud Alibaba(六)
目录: 分布式链路追踪-SkyWalking为什么需要链路追踪什么是SkyWalkingSkyWalking核心概念什么是探针Java AgentJava探针日志监控实现之环境搭建Java探针日志监控实现之探针实现编写探针类TestAgent搭建 ElasticsearchSkyWalking服务环境搭建搭建微服务微服务接入Sky…...

【包教包会】CocosCreator3.x——重写Sprite,圆角、3D翻转、纹理循环、可合批调色板、不影响子节点的位移旋转缩放透明度
一、效果演示 重写Sprite组件,做了以下优化: 1、新增自变换,在不影响子节点的前提下位移、旋转、缩放、改变透明度 新增可合批调色板,支持色相、明暗调节 新增圆角矩形、3D透视旋转、纹理循环 所有功能均支持合批、原生平台&…...

jupyter-lab 环境构建
我平时用来调试各种代码的。 创建环境,安装库 conda create --name jupyterlab python3.12 -y conda activate jupyterlab conda install -c conda-forge jupyterlab nodejs之前用的是3.10的,但是最近安装的时候,发现3.10的python里面的jup…...

【C++】LeetCode:LCR 026. 重排链表
题干 LCR 026. 重排链表 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内部的值,而是需要实…...

【Linux】vim编辑器
vim是什么? vim就是命令行模式下的文本编辑器,相当于windows中的记事本,可以用来进行文本编辑。 vim有三种运行模式,分别可以执行不同的操作: 普通模式(Normal Mode):用于浏览和编辑…...

delphi 12 idhttpsever(S)+idhttp(C) 实现简单的JSON API服务
这篇博客展示了如何使用Delphi创建一个简单的HTTP服务器,并处理GET和POST请求。服务器监听6600端口,响应JSON格式的数据。客户端通过IdHttp组件进行GET和POST请求,获取并显示服务器响应的内容。 http服务器测试代码 procedure TForm1.FormSh…...

JVM 主副内存 详解
在 JVM (Java Virtual Machine) 中,内存的设计主要分为主内存和工作内存(又称为线程内存)。这种设计是基于 Java 内存模型(Java Memory Model, JMM) 的规定,它确保了多线程环境下数据的一致性和线程间的通信…...

sscanf与sprintf函数
本期介绍🍖 主要介绍:sscanf()、sprintf()这对输入/输出函数,并详细讲解了这两个函数的应用场景。 概述🍖 在C语言的输出和输入库中,有三对及其相似的库函数:printf()、scanf()、fprintf()、fscanf()、spri…...

【k8s】创建基于sa的token的kubeconfig
需求 创建一个基于sa的token的kubeconfig文件,并用这个文件来访问集群。 具体创建sa 和sa的token请参考文章: 【k8s】给ServiceAccount 创建关联的 Secrets-CSDN博客 创建sa apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata:namespace: jtkjdevnam…...

Gentoo Linux部署LNMP
一、安装nginx 1.gentoo-chxf ~ # emerge -av nginx 提示配置文件需更新 2.gentoo-chxf ~ # etc-update 3.gentoo-chxf ~ # emerge -av nginx 4.查看并启动nginx gentoo-chxf ~ # systemctl status nginx gentoo-chxf ~ # systemctl start nginx gentoo-chxf ~ # syst…...

2411C++,CXImage简单使用
介绍 CxImage是一个可非常简单快速的加载,保存,显示和转换图像的C类. 文件格式和链接的C库 Cximage对象基本上是加了一些成员变量来保存有用信息的一个位图: class CxImage{...protected:void* pDib; //包含标题,调色板,像素BITMAPINFOHEADER head; //标准头文件CXIMAGEINFO…...

什么是 Kubernetes(K8s)?
什么是 Kubernetes(K8s)? Kubernetes(简称 K8s) 是一个用来管理容器的开源工具,它可以自动化部署、扩展和管理容器化应用。简单来说,K8s 就是一个“容器管家”,负责确保你的应用程序…...

深入解析:TypeScript 与 Vue 的完美结合
文章目录 前言一、准备工作二、基本用法三、进阶主题结语 前言 Vue.js 是一款流行的渐进式 JavaScript 框架,它以易于学习和灵活的特性而闻名。TypeScript 则是 JavaScript 的一个超集,它引入了静态类型检查等高级功能,有助于构建更大型且复…...

机器学习周志华学习笔记-第13章<半监督学习>
机器学习周志华学习笔记-第13章<半监督学习> 卷王,请看目录 13半监督学习13.1 生成式方法13.2 半监督SVM13.3 基于分歧的方法13.4 半监督聚类 13半监督学习 前面我们一直围绕的都是监督学习与无监督学习,监督学习指的是训练样本包…...

软件工程——期末复习(1)
名词解释: 名词解释--人月 答案:人月是软件开发工作量的单位,1人月表示1个程序员1个月的工作时间所开发的代码量。 请解释软件缺陷、错误和失败,并简单举例说明。 答案:缺陷(defect)指系统代…...

【JavaEE初阶 — 网络编程】实现基于TCP协议的Echo服务
TCP流套接字编程 1. TCP & UDP 的区别 TCP 的核心特点是面向字节流,读写数据的基本单位是字节 byte 2 API介绍 2.1 ServerSocket 定义 ServerSocket 是创建 TCP 服务端 Socket 的API。 构造方法 方法签名 方法说明 ServerS…...