JMeter实战2--阶梯线程组及计算逻辑 📅 发布时间:2026/7/11 9:28:31 👁️ 浏览次数: 一、压力测试的计算逻辑线程组定义场景线程数定义用户量用户量决定并发压力1个线程组 1个测试场景1个线程数 1个虚拟用户样本数 接口请求次数 用户数量 × 每个用户执行的次数 用户数量 × 每个用户每秒请求率 × 运行时长≈ 用户数量 × 1 ÷ (接口响应时间 思考时间) × 运行时长样本数接口请求次数与用户数量线程数、运行时长增长持续衰退、接口响应时间有关系二、不同线程组对比入门新手普通线程组模拟真实用户Stepping Thread Group复杂场景Ultimate Thread Group精确并发Concurrency Thread Group1.基础对比2.配置方式对比表3.选择哪种方式开始↓需要复杂负载模式↓是 → 选择 Ultimate Thread Group最灵活↓否 → 需要模拟用户逐步进入↓是 → 选择 Stepping Thread Group↓否 → 需要精确控制并发数↓是 → 选择 Concurrency Thread Group↓否 → 选择 普通线程组最简单三、阶梯线程组Stepping Thread Group阶梯线程组的核心通过hold load时间控制最大并发数通过add every控制增长速度必须配合循环次数和总时间限制使用。1.核心参数详解必须理解的7个参数1. This group will start [N] threads - 只是测试名称不是限制实际线程数由后续参数决定 2. First, wait for [X] seconds - 初始等待时间测试开始前的延迟 3. Then start [A] threads - 初始启动的线程数用户数 4. Next, add [B] threads every [C] seconds - 核心每C秒增加B个线程 - ⚠️ 没有until选项时会无限增加 5. using ramp-up [D] seconds - 每批线程启动的时间间隔 6. Then hold load for [E] seconds - 停止增加线程保持当前负载E秒 - ⚠️ 这是停止增加的关键时间点 7. Finally, stop [F] threads every [G] seconds - 每G秒停止F个线程最大线程数 初始线程 (增加间隔数 × 每次增加数)2.标准压力测试推荐名称[业务名称]_压力测试This group will start: [业务名称]测试First, wait for: 5 seconds ← 给监控系统准备时间Then start: [峰值用户数 × 10%] threads ← 温和启动Next, add: [每次增加5-10%峰值] threads every: [10-30] secondsusing ramp-up: [增加线程数 × 0.2-0.5] seconds ← 平滑启动Then hold load for: [主要测试时间] seconds ← 核心测试阶段Finally, stop: [与增加数相当] threads every: [5-15] seconds循环次数∞ 或 留空 ← 持续执行运行时控制器外层添加限制总时间3.冒烟测试简单验证First, wait for: 0Then start: 5Next, add: 5 threads every: 10 secondsusing ramp-up: 5Then hold load for: 30Finally, stop: 5 threads every: 5循环次数1 ← 每人执行1次4.100个用户的示例This group will start: 100用户测试First, wait for: 0Then start: 10Next, add: 10 threads every: 5 secondsusing ramp-up: 3Then hold load for: 30Finally, stop: 10 threads every: 5时间线计算增加阶段从10到100用户每次加10需要加9次9 × 5秒 45秒达到100用户保持阶段30秒100用户并发停止阶段100 ÷ 10 10次停止10 × 5秒 50秒停止完毕总时间45 30 50 125秒5.快速配置口诀一算目标用户数二定增长时间段三设合理ramp-up四加时间控制器五验曲线对不对六看监控调参数。四、并发线程组Concurrency Thread Group设目标、定时间、分阶梯、保时长四步完成专业压力测试配置1.核心参数详解1. Target Concurrency (目标并发数)- 测试要达到的最大并发用户数- 示例100 最多100个用户同时在线2. Ramp Up Time (启动时间秒)- 从0达到目标并发数所需的总时间- 示例60 60秒内从0增加到100用户3. Ramp-Up Steps Count (阶梯数)- 将启动时间分为几个阶梯- 示例10 分10个阶梯增加到目标4. Hold Target Rate Time (保持时间秒)- 达到目标并发数后保持的时间- 示例120 保持100用户并发120秒5. Time Unit (时间单位)- 通常选择seconds(秒)6. Thread Iterations Limit (线程迭代限制)- 每个线程执行的循环次数- ∞ 或留空 无限循环直到时间结束7. Log Threads Status into File (记录线程状态到文件)- 可选用于调试线程状态变化8. Concurrency Limit Schedule (并发限制计划)- 可添加多行定义不同的并发阶段配置流程1. 确定测试目标并发数、时间2. 设置合理的阶梯数5-20之间3. 必须设置保持时间至少30秒4. 添加运行时控制器限制总时间可选5. 先用小参数验证配置6. 添加活动线程数监听器验证曲线阶梯数选择原则短时间测试60秒阶梯数 5-10中时间测试1-10分钟阶梯数 10-15长时间测试10分钟阶梯数 15-202.参数计算与理解每个阶梯的并发增量 目标并发数 ÷ 阶梯数每个阶梯的时间 启动时间 ÷ 阶梯数示例目标100用户启动时间60秒阶梯数10- 每个阶梯增加100 ÷ 10 10用户- 每个阶梯时间60 ÷ 10 6秒- 结果每6秒增加10用户60秒达到100用户3.标准压力测试模板Target Concurrency: 100 # 目标100并发用户Ramp Up Time: 60 # 60秒内达到Ramp-Up Steps Count: 10 # 分10个阶梯Hold Target Rate Time: 300 # 保持300秒5分钟Thread Iterations Limit: ∞ # 无限循环4.快速峰值测试模板Target Concurrency: 50Ramp Up Time: 10 # 快速增加Ramp-Up Steps Count: 5 # 分5个阶梯Hold Target Rate Time: 30 # 保持30秒5.稳定性测试模板Target Concurrency: 20Ramp Up Time: 120 # 缓慢增加Ramp-Up Steps Count: 20 # 精细控制Hold Target Rate Time: 3600 # 保持1小时五、终极线程组Ultimate Thread Group表格化多阶段配置Delay时间要精确计算预览图必须验证配合监听器确保曲线正确。1.界面参数详解Start Threads Count Initial Delay Startup Time Hold Load For Shutdown Time[初始线程数] [初始延迟秒] [启动时间秒] [保持时间秒] [关闭时间秒]每列具体含义2.配置示例与计算示例1标准三阶段测试预热-峰值-恢复Start Delay Startup Hold Shutdown 描述50 0 60 120 30 预热阶段200 210 30 300 60 峰值阶段50 590 60 180 30 恢复阶段计算总时间阶段10 60 120 30 210秒阶段2210 30 300 60 600秒阶段3590 60 180 30 860秒总测试时间860秒 ≈ 14分钟示例2工作日负载模拟8小时Start Delay Startup Hold Shutdown100 0 1800 21600 1800 上午负载200 28800 1800 14400 1800 下午高峰50 46800 900 3600 900 晚间负载模板1电商大促双十一模型Start Delay Startup Hold Shutdown 说明1000 0 3600 14400 1800 预热1小时到1000保持4小时5000 19800 1800 7200 3600 高峰0.5小时到5000保持2小时2000 32400 3600 21600 1800 持续1小时降到2000保持6小时800 55800 1800 10800 1800 收尾0.5小时到800保持3小时模板2API稳定性测试24小时Start Delay Startup Hold Shutdown50 0 1800 75600 1800 全天基础负载200 79200 3600 14400 3600 白天高峰80 97200 1800 21600 1800 夜间负载模板3性能拐点测试Start Delay Startup Hold Shutdown50 0 60 300 30100 390 30 300 30150 750 30 300 30200 1110 30 300 30250 1470 30 300 30300 1830 30 300 30 ← 逐步增加找拐点3.注意事项⚠️1Delay时间计算容易出错错误Delay 上个阶段的Hold时间 正确Delay 上个阶段的(Startup Hold Shutdown) 示例 阶段1Startup60, Hold120, Shutdown30 阶段2的Delay应该是6012030210秒⚠️2线程数是累计还是独立独立设置每行的Start Threads都是独立目标不会累计阶段2的100线程不是在上阶段基础上增加100⚠️3Shutdown Time必须设置如果不设置或设为0线程会立即停止影响测试结果准确性建议设为Startup Time的1/3到1/2⚠️4时间重叠问题错误配置 行1Delay0, Startup60, Hold120, Shutdown30 (总210秒) 行2Delay180, ... ← 重叠了行1还在运行 行1运行时间0-210秒 行2开始时间180秒 ← 在行1结束前就开始六、添加监视器1. 验证曲线jpgc - Active Threads Over Time通过JMeter Plugins Manager安装 1. jpgc-graphs-basic 2. jpgc-graphs-additional作用实时显示并发用户数变化曲线验证线程组配置是否正确执行。2. 监控TPSjpgc - Transactions per Second通过JMeter Plugins Manager安装 1. jpgc-graphs-basic 2. jpgc-graphs-additional作用监控实际业务压力显示系统每秒处理的请求数TPS。3. 聚合报告整体性能作用整体性能数据汇总统计1关键指标解析2实际应用示例分析登录接口性能Label: Login_API# Samples: 1000 (共1000次请求)Average: 120ms (平均响应时间120ms)90% Line: 200ms (90%请求在200ms内)95% Line: 250ms (95%请求在250ms内)Error %: 0.5% (错误率0.5%5个请求失败)Throughput: 50.2/sec (TPS为50.2)3注意事项90% Line比Average更重要关注大多数用户的体验Error %必须为0生产环境要求错误率接近0Max值异常高可能有单个请求卡住需排查中位数≈平均值响应时间分布均匀4.响应时间趋势 jpgc - Response Times Over Time作用响应时间趋势变化实时监控1图形解读2实际案例分析案例1内存泄漏时间线0-30分钟响应时间平稳在100ms30-60分钟逐步上升到500ms60分钟后持续高位偶尔尖峰分析可能存在内存泄漏需要检查GC日志案例2数据库连接池耗尽特征响应时间周期性波动图形规律性的波浪形低点50ms高点2000ms周期每10分钟一次分析连接池回收或缓存失效案例3外部依赖超时特征随机尖峰图形平稳线 偶尔的垂直尖峰基线80ms尖峰5000ms分析第三方接口超时或网络问题注意事项与活动线程数图对照看响应时间上升时看并发是否增加关注分位线间距50%和90%线间距大说明响应不稳定设置合理的Y轴范围避免个别尖峰压缩图形显示5.服务器监控jpgc - PerfMon Metrics Collector作用服务器资源监控CPU、内存、磁盘、网络1监控指标范围服务器监控CPU、内存、磁盘、网络等指标日志监控实时查看应用日志服务状态检查检查进程、端口、服务状态自定义监控执行任何Shell命令收集数据2添加方法# 通过JMeter Plugins Manager安装 1. 打开JMeter → 选项 → Plugins Manager 2. 搜索 SSH 3. 安装 SSHMon Samples Collector添加 → 监听器 → jpgc - SSHMon Sampler Collector3配置信息详解完整配置参数jpgc - SSHMon Sampler Collector├── Server: ____________ (服务器地址)├── Port: 22 (SSH端口)├── Username: __________ (SSH用户名)├── Password: __________ (密码)├── Private Key: _______ (私钥文件路径 - 替代密码)├── Commands to execute: (多行文本框每行一个命令)├── Label for requests: __________ (请求标签)├── Use TTY: ☐ (是否使用伪终端)├── Timeout: 30 (超时时间秒)├── Print stderr: ☐ (是否打印错误输出)├── Use return code: ☐ (是否使用返回码作为结果)└── Interval (ms): 5000 (执行间隔毫秒)各参数详细说明
告别繁琐安装!m3u8live.cn 在线 M3U8 播放器,粘贴即播,HLS 直播流调试一步到位 如果你是一名视频开发工程师、测试人员、直播运营,或者偶尔需要处理 m3u8 流媒体链接的普通用户,你一定经历过这些烦恼: 想验证一个 m3u8 直播地址,还要下载安装 VLC 等播放器,步骤繁琐本地播放器经常出现无法播放、跨… 2026/5/17 12:41:28
吉客云与金蝶云星空的自动化数据流转方案 吉客云与金蝶云星空系统对接方案系统对接概述轻易云数据集成平台为企业提供吉客云奇门与金蝶云星空的标准化对接方案。该方案基于平台的多源异构集成能力,可实现销售订单、库存数据等核心业务数据的自动化流转,消除企业信息孤岛问题。对接系统说明吉客云… 2026/3/18 16:47:48
笔记之总结变量及简单数据类型 (书籍:学习python编程从入门到实践) 变量 变量的命名和使用 1.变量名只能包含字母、数字和下划线。 变量名开头:以字母或下划线开头,不能以数字开头。 比如:message_1(√) 1_message() 2.变量名不能包含空格,但是能使用下划线来分隔其中的单词 比如:greeting_message(√) greeting messag… 2026/3/18 16:47:05
哔哩下载姬DownKyi完整指南:轻松下载B站视频的终极解决方案 哔哩下载姬DownKyi完整指南:轻松下载B站视频的终极解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&… 2026/7/11 9:28:02
智能直流负载管理系统设计与实现 1. 项目背景与核心目标 在工业自动化和电力电子领域,直流负载管理一直是系统设计的关键痛点。传统机械式继电器在频繁开关场景下存在触点磨损、电弧干扰和响应速度慢等问题,而普通电子开关又难以兼顾大电流承载与精确控制。这个项目正是针对这些痛点&… 2026/7/11 9:26:01
深入理解 LDO —— 从入门到精通 本文按由浅入深的顺序,系统讲解 LDO(低压差线性稳压器)的原理、参数、选型和应用。无论你是刚接触电源设计的新手,还是需要深入调试的老手,都能从中找到需要的知识。 第一部分:基础认知 1.1 什么是 LDO&am… 2026/7/11 9:26:01
CBCX平台印象:经纪商服务细节带来的使用参考 在外汇相关服务逐步走向规范化表达的背景下,平台评测需要回到用户真实会遇到的问题:信息是否容易找到,流程是否容易理解,帮助入口是否有效,风险边界是否讲清楚。CBCX的观察价值,正在于这些细节能否组成稳定… 2026/7/11 9:24:01
CBCX平台服务观察:先把公开信息一致性讲清楚 一个平台能否被长期关注,往往取决于它能否持续提供明确、稳定、负责任的服务感受。CBCX并不适合只用单一标签概括,更适合从平台运行、内容建设、用户支持和合规意识等方面综合判断。对读者来说,这类评测能够降低理解成本,也能帮助… 2026/7/11 9:22:00
公章遗失登报怎么弄?2026年常见线上登报平台横评+办理流程指南 2026年,政务数字化全面深化,公章补刻流程持续向线上迁移。尽管各地刻章点与政务大厅不断简化手续,但通过合规报刊刊登遗失声明,仍是厘清遗失期间法律责任、顺利补刻公章不可逾越的法定程序。 然而,各省市登报要求持续… 2026/7/11 9:20:00
5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 [特殊字符] 5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 🎬 【免费下载链接】zimuku_for_kodi Kodi 插件,用于从「字幕库」网站下载字幕 项目地址: https://gitcode.com/gh_mirrors/zi/zimuku_for_kodi 还记得那个深夜吗?你刚下载… 2026/7/11 0:00:11
工业信号干扰处理与FOD4216光耦应用实战 1. 工业环境中的信号干扰挑战在工业自动化领域,信号采集的准确性直接关系到整个控制系统的可靠性。典型的工业现场充斥着各种干扰源:大功率电机启停产生的电磁干扰、变频器工作产生的高频噪声、继电器触点火花放电,以及长距离传输引入的共模干… 2026/7/11 0:00:11
OpenHarmony 完整项目工程整合规范 + 模块化分层架构(API23+ 标准企业级结构) 摘要前面系列教程覆盖了 ArkUI 组件、路由、生命周期、本地存储、网络请求、Ability 底层全套基础能力,本篇统一梳理标准工程目录分层、模块化拆分、代码复用规范、全局工具统一管理、项目打包权限配置、常见工程报错统一解决方案,形成可直接用于课程设计… 2026/7/11 0:00:11
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08