3. 业务场景分析:核心业务流程识别、用户行为路径建模、业务高峰时段分析

压力测试的样本构建不能脱离真实的业务场景。脱离业务场景的压测样本,即使数据量再大、分布再均匀,也无法反映生产环境的真实压力。本章聚焦于如何通过业务场景分析,为压力测试样本构建提供准确的业务语义和流量特征。

3.1 核心业务流程识别

核心业务流程是指用户完成关键业务目标所必须经过的系统交互路径。识别核心业务流程是压测样本构建的第一步,决定了样本需要覆盖哪些接口、数据对象和业务状态。

识别维度 关键问题 产出物
业务价值 哪些流程直接产生收入或核心用户价值? 核心业务清单(Top 5-10)
调用频率 哪些接口在日活用户中调用量最高? 高频接口排名
资源消耗 哪些流程对CPU、内存、数据库连接消耗最大? 资源热点流程
业务依赖 哪些流程被下游多个业务模块依赖? 关键依赖链路
实践建议: 优先选择“高价值 + 高频率 + 高资源消耗”的交集流程作为压测样本的核心骨架。通常 20% 的核心流程承载了 80% 的生产流量。

3.2 用户行为路径建模

用户行为路径建模是将核心业务流程转化为可执行的压测样本序列。建模的核心在于还原用户在系统中的真实操作顺序、停留时间和分支概率。

3.2.1 路径建模三要素

  • 节点(Node): 代表一个业务操作或API调用,如“搜索商品”、“加入购物车”、“提交订单”。
  • 边(Edge): 代表节点之间的转移关系,包含转移概率和思考时间。
  • 状态(State): 代表用户会话中的业务上下文,如登录态、购物车内容、订单状态。

3.2.2 典型用户行为路径示例

以电商平台为例,一个完整的用户购买路径可以建模为以下状态机:

# 用户行为路径状态转移矩阵(简化示例)
# 格式:当前状态 -> 下一状态 : 转移概率

首页 -> 搜索页 : 0.40
首页 -> 分类页 : 0.25
首页 -> 活动页 : 0.20
首页 -> 退出 : 0.15

搜索页 -> 商品详情 : 0.35
搜索页 -> 首页 : 0.30
搜索页 -> 退出 : 0.35

商品详情 -> 加入购物车 : 0.20
商品详情 -> 返回搜索 : 0.50
商品详情 -> 退出 : 0.30

加入购物车 -> 结算页 : 0.60
加入购物车 -> 继续购物 : 0.40

结算页 -> 提交订单 : 0.70
结算页 -> 返回购物车 : 0.30
关键指标: 路径建模中必须包含“思考时间”(Think Time)和“停留时间”(Dwell Time)。这两个参数直接影响压测样本的并发模型和TPS计算。建议从生产日志中提取P50/P90/P99的思考时间分布。

3.3 业务高峰时段分析

业务高峰时段分析决定了压测样本的流量模型——即“什么时候加压、加多少压、持续多久”。高峰时段的特征直接决定了压测的并发目标值。

3.3.1 高峰时段识别方法

  • 日周期分析: 按小时统计TPS、在线用户数、响应时间,识别每日的波峰和波谷时段。
  • 周周期分析: 对比工作日与周末的流量特征,识别周内高峰日。
  • 特殊事件分析: 识别大促、秒杀、营销活动等特殊事件带来的瞬时流量尖峰。

3.3.2 高峰时段特征表

时段类型 典型特征 压测样本策略
日常高峰 TPS 为均值 1.5-2 倍,持续 1-2 小时 按峰值 TPS 持续加压 30 分钟
周度高峰 TPS 为均值 2-3 倍,持续 3-4 小时 按峰值 TPS 阶梯式加压 1 小时
大促高峰 TPS 为均值 5-10 倍,持续 15-30 分钟 按峰值 TPS 突发加压 + 限流验证
秒杀尖峰 TPS 为均值 20-50 倍,持续 1-5 分钟 按峰值 TPS 瞬时加压 + 降级验证
常见误区: 不要只关注“最高 TPS”一个指标。高峰时段的“请求组成比例”同样重要。例如,大促高峰时“下单”接口占比会从日常的 5% 飙升到 30%,如果压测样本仍按日常比例混合,会导致样本失真。

3.4 业务场景分析整体流程

以下 SVG 图展示了从业务场景分析到压测样本构建的完整流程:

业务场景分析 → 压测样本构建流程 阶段一:核心业务流程识别 • 业务价值排序 • 调用频率统计 • 资源消耗评估 流程清单 阶段二:用户行为路径建模 • 节点与边定义 • 转移概率矩阵 • 思考时间分布 路径模型 阶段三:高峰时段分析 • 日/周周期 • 特殊事件 • 流量模型 业务场景模型 压测样本构建 接口混合比 + 并发模型 + 数据分布 验证与校准 说明:三个阶段产出物汇聚为统一的业务场景模型,该模型直接驱动压测样本的接口混合比、并发模型和数据分布策略。 虚线表示压测结果反馈至业务场景模型进行校准,形成闭环优化。

3.5 业务场景分析清单

在实际项目中,建议按照以下清单逐项完成业务场景分析,确保压测样本的完整性和准确性:

  1. 流程盘点: 列出系统所有核心业务流程,标注业务等级(P0/P1/P2)。
  2. 接口映射: 将每个业务流程拆解为具体的API调用序列,记录请求参数和响应结构。
  3. 日志分析: 从生产日志中提取用户行为路径的转移概率、思考时间、停留时间。
  4. 流量采集: 按小时/天/周粒度采集TPS、并发数、响应时间、错误率。
  5. 高峰识别: 使用时间序列分解或阈值检测算法识别高峰时段和尖峰特征。
  6. 模型整合: 将流程、路径、高峰特征整合为统一的业务场景模型文档。
产出物要求: 业务场景分析完成后,必须输出一份《业务场景模型文档》,包含:核心流程清单(含接口映射)、用户行为路径状态转移矩阵、高峰时段流量特征表。这份文档是后续压测样本构建的唯一输入依据。