1. 课程导论:双引擎压测背景、巡检脚本定义、课程目标与受众

1.1 双引擎压测背景:为什么需要两个引擎?

在微服务架构与容器化部署成为主流的今天,单引擎压测工具(如传统 JMeter 单机模式)在应对大规模容量验证时暴露出明显的瓶颈:

  • 单机资源天花板:单台压测机受限于 CPU、内存、网络带宽,无法模拟数万乃至数十万并发用户。
  • 协调与数据隔离:多台压测机独立运行,缺乏统一的调度与结果聚合机制,导致测试数据碎片化。
  • 巡检场景的特殊性:容量巡检要求高频、低侵入、可编排,传统“一次压测、一次分析”的模式无法满足持续观测需求。

为此,业界逐渐演进出双引擎压测架构——将控制引擎与执行引擎分离,实现调度、编排、执行、采集的解耦。本课程聚焦于 JMeter 生态下的双引擎方案选型与巡检脚本编排。

核心认知:双引擎不是简单的“多台机器跑 JMeter”,而是通过控制引擎统一管理脚本、参数、监控与结果,执行引擎仅负责负载生成,从而实现容量压测的标准化与自动化。

1.2 巡检脚本定义:什么是容量压测巡检脚本?

容量压测巡检脚本是一类轻量级、可重复执行、带有断言与阈值检查的压测脚本,区别于传统的“一次性性能测试脚本”。其关键特征包括:

维度 传统压测脚本 巡检脚本
执行频率 按需执行(如版本发布前) 定时/持续执行(如每日凌晨)
脚本结构 单一场景,手动调参 模块化编排,参数化阈值
结果判定 人工分析聚合报告 自动断言 + 告警触发
资源开销 高负载,长时间运行 低负载,短周期,快速反馈
编排复杂度 低(单机单场景) 高(多机、多场景、条件分支)

巡检脚本通常包含以下核心组件:

  1. 线程组编排:设定并发数、Ramp-Up、循环次数,支持分布式执行。
  2. 采样器与断言:HTTP/DB/RPC 请求 + 响应断言、持续时间断言。
  3. 阈值监听器:实时监控 TPS、响应时间、错误率,超出阈值即标记失败。
  4. 后置处理器:提取响应数据,用于条件判断或参数传递。
  5. 结果聚合与上报:将测试结果写入时序数据库或消息队列,供巡检平台展示。

1.3 课程目标与受众

本课程旨在帮助学员掌握以下核心能力:

  • 理解双引擎架构:区分控制引擎与执行引擎的职责,掌握 JMeter 分布式与第三方调度引擎的集成方式。
  • 掌握巡检脚本编排方法:从零构建可复用、可参数化、带自动断言的巡检脚本。
  • 完成引擎选型对比:基于实际业务场景(如日均 PV、接口数量、巡检频率),选择最合适的双引擎组合。
  • 落地持续容量巡检:结合 CI/CD 流水线或定时任务,实现容量指标的自动化采集与告警。
受众角色 前置要求 课程收益
性能测试工程师 熟悉 JMeter 基础操作 掌握双引擎编排与巡检脚本设计
运维/SRE 工程师 了解容器化与监控体系 能够搭建自动化容量巡检平台
测试开发工程师 具备脚本编程能力 学会扩展 JMeter 插件与调度接口
技术管理者 了解容量保障流程 明确双引擎选型 ROI 与落地路径

1.4 双引擎压测架构总览

下图展示了本课程讨论的双引擎压测核心架构:控制引擎负责脚本下发、参数注入、结果汇聚与告警;执行引擎集群负责负载生成与实时数据上报。

双引擎压测架构总览 控制引擎 脚本管理 参数注入 结果汇聚 & 告警 执行引擎集群 负载生成 实时数据上报 分布式协调 脚本下发 / 参数同步 结果上报 / 心跳 被压测系统 微服务 / API / 数据库 施压 监控 & 存储 Prometheus / InfluxDB 写入 告警通道 钉钉 / 邮件 / Webhook 触发告警 说明:控制引擎与执行引擎通过消息队列或 RPC 通信,实现脚本下发、参数同步与结果回传。 本课程将对比 JMeter 原生分布式、Kubernetes 执行器、以及第三方调度引擎三种方案。

1.5 课程内容与编排路径

本课程共分为 6 个模块,从基础概念到实战选型,逐步深入:

模块 章节范围 核心内容
一、基础篇 第 1-4 章 双引擎概念、JMeter 分布式原理、巡检脚本设计模式
二、编排篇 第 5-10 章 参数化、断言、监听器、模块化脚本、条件控制
三、引擎选型篇 第 11-18 章 JMeter 原生 vs K8s vs 第三方调度引擎,对比矩阵
四、集成篇 第 19-24 章 CI/CD 集成、结果存储、告警配置、巡检看板
五、实战篇 第 25-28 章 电商、金融、IoT 场景案例,脚本调试与优化
六、总结篇 第 29-30 章 选型决策树、常见问题、课程回顾
学习建议:如果你是初学者,建议按顺序学习;如果你已有 JMeter 基础,可以直接从“编排篇”或“引擎选型篇”开始,遇到基础概念时再回看前几章。