JMeter 性能测试

news/2025/3/20 7:10:26/

Jmeter 用户手册

名词解释:

RPS:每秒请求数-每秒向服务器发送多少请求数(一个场景,系统面临多大的压力)
TPS:每秒事务数-每秒能够处理多少请求/事务数性能评价标准(其中的一个核心指标,吞吐量)
RT:响应时间,指的是业务从客户端发起到客户端接收时间
线程组:线程-虚拟用户(VU),不同场景不同线程组
循环:控制线程任务执行的次数
任务:线程组内部的逻辑步骤

压测场景
  • 具体场景:比如压测目标:确认系统能否达到 20 TPS,持续压测 10 s
    前提:模拟出 RPS 达到 20 RPS

  • 第一种错误方案:线程数:1 ,Ramp-UP:1,循环:20?
    1、压测时间-太短,不准确
    2、一个线程循环 20 次,并不是模拟 20 RPS
    1个线程1秒可能发起几百次请求,任务执行的速度很快–8 ms–1000ms/8=125 RPS

  • 第二种错误方案:线程数:20 ,Ramp-UP:1,循环:永远,持续时间 10s?
    1、RPS 远远超出预料范围(1600 RPS),服务器是否能承受这么大的压力?
    2、模拟压测场景脱离实际,如果服务器宕机,则压测结果没有任何参考意义!
    如何调整?

    • 第一种调整方案:调整线程数量,比如将线程数调整为 1 ,但这种方案仍旧达不到目标
    • 第二种调整方案:调整任务执行的频率:比如:加定时器-常数吞吐量定时器,每分钟样本量 60个,基于只有此线程,这样设置后,每秒执行一次线程任务,即 20 个请求
  • 第三种错误方案:线程数:20 ,Ramp-UP:1,循环:永远,持续时间 10s,常数吞吐量定时器(每分钟样本量 60 个)–【巨大 BUG】

    • 因为并发量越大,响应时间越慢,可能超过 1 秒,导致压测结果不准确

    • 场景细化:20 个线程工作(响应时间需要 3 s)

      • 第一秒:20 个线程发送 http 请求—RPS:20
      • 第二秒:0 个线程发送 http 请求—RPS:0
      • 第三秒:0 个线程发送 http 请求—RPS:0
      • 第四秒:20 个线程发送 http 请求—RPS:20
    • 最后正确调整方案:每分钟样本量 1200 个,基于所有活动线程

    • 场景细化:20 个线程工作(响应时间需要 3 s)

      • 第一秒:0-20 编号线程发送 http 请求—RPS:20
      • 第二秒:20-40 编号线程发送 http 请求—RPS:20
      • 第三秒:40-60 编号线程发送 http 请求—RPS:20
      • 第四秒:0-20 编号线程发送 http 请求—RPS:20

http://www.ppmy.cn/news/1580539.html

相关文章

QT 学习笔记2

应用程序主窗口 主窗口框架构建 菜单栏/工具栏/状态栏 cpp // 创建菜单栏 QMenuBar *menuBar new QMenuBar(this); QMenu *fileMenu menuBar->addMenu("文件(&F)"); QAction *openAction fileMenu->addAction("打开");// 创建工具栏 QToolBar…

SSH配置过程及无法正常链接问题的解决【小白教学】

1.尝试克隆github上的项目,发现无法正常下载【之前有些是可以的】 git clone https://github.com/mogualla/PythonRobotics.git --depth 3 出现下面的提示【错误】: Cloning into PythonRobotics... fatal: unable to access https://github.com/mogua…

破解“光伏+储能+充电”一体化难题!安科瑞全方案打造智慧能源新标杆

安科瑞顾强 破解“光伏储能充电”一体化难题!安科瑞全方案打造智慧能源新标杆 在“双碳”目标驱动下,光伏储能与充电桩的融合成为能源转型的关键场景。然而,多电源协同、保护逻辑冲突、运维可靠性低等难题,让许多充电站项目陷入…

计算机网络 第一章:计算机网络和因特网(1)

1.1 什么是因特网 两种方式回答 1. 描述因特网的具体构成,构成因特网的基本硬件和软件组件。 2. 根据为分布式应用提供服务的联网基础设施来描述因特网。 1.1.1 具体构成描述 所有接入因特网的设备都叫做 主机(host)或者 端系统(…

Linux Vim 寄存器 | 从基础分类到高级应用

注:本文为 “vim 寄存器” 相关文章合辑。 英文引文,机翻未校。 中文引文,略作重排。 未整理去重,如有内容异常,请看原文。 Registers 寄存器 Learning Vim registers is like learning algebra for the first ti…

冯・诺依曼架构深度解析

一、历史溯源:计算机科学的革命性突破 1.1 前冯・诺依曼时代 在 1940 年代之前,计算机领域呈现 "百家争鸣" 的格局: 哈佛 Mark I(1944):采用分离的指令存储与数据存储ENIAC(1946&a…

【Golang】go如何通过atomic原子操作来确保数据一致性

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

洛谷 P1902 刺杀大使 二分-最大值最小

P1902 刺杀大使 - 洛谷 题意&#xff1a;二分地图中所有从起点到终点的路线中最大值 的 最小 const int N 1e3 10;int n,m; int g[N][N]; bool st[N][N]; int dx[] {-1,0,1,0},dy[] {0,1,0,-1};bool check(int mid) {memset(st,0,sizeof st);queue<PII> q;q.push({1,…