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

JMeter 性能测试

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.kler.cn/a/589809.html

相关文章:

  • P41-指针进阶1、2
  • 基于 YOLOv8 和 PyQt5 的火焰、烟雾检测
  • Grokking System Design 系统设计面试问题
  • 用UML搞懂ASPICE(6)过程能力确定的能力维度
  • [蓝桥杯 2023 省 B] 飞机降落
  • WinForm基础知识1-20
  • Unity Google登录
  • 深入解析音频编解码器(Audio CODEC):硬件、接口与驱动开发
  • WireShark自动抓包
  • 【ProjectDiscovery 生态中核心工具 Subfinder、Httpx、Katana 和 Nuclei 的基础使用教程】
  • 【协作开发】低成本一键复刻github的gitea
  • 二、vtkCommand的使用
  • 2025-03-17 学习记录--C/C++-PTA 习题4-3 求分数序列前N项和
  • 大语言模型中的 Function Calling
  • Navicat又放大招,接入DeepSeek后AI写SQL
  • 2025-03-17 NO.1 Quest3 开发环境配置教程
  • 蓝桥杯备考:贪心+思维题 之 zzc种田
  • 理解矩阵乘以向量如何“将空间进行了扭曲”
  • 极客天成 NVFile 并行文件存储:端到端无缓存新范式,为 AI 训练按下“快进键”
  • 一文掌握 PostgreSQL 的各种指令(PostgreSQL指令备忘)