首页/开发/软件测试速查/性能基线与回归

性能基线与回归

性能基线:在稳定环境定期跑固定脚本,把关键分位与吞吐记录为基线,新版本对比基线;趋势比单次绝对值更有价值,超阈值即预警。

软件测试速查开发更新于 2026-10-13

基线回归是什么

性能基线是把「当前正常水位」固化成可对照的数据:同环境、同脚本、同数据下定期跑出的分位与吞吐。回归检测就是拿新结果对基线做相对比较——比如 p95 恶化超过两成报警——而不是背绝对值。没有基线的性能数字只能看不能用:你不知道 300 毫秒算好还是坏。

基本信息

基线四同环境、脚本、数据规模、运行参数保持一致
采集节奏每日夜间或每个合并批次,固定时段减少干扰
存储结果 JSON 归档加趋势图,历史可回溯
判定规则相对阈值为主(恶化比例),绝对阈值兜底
噪声控制重复运行取中位数,避开与其他任务同机竞争
工具落点k6 摘要导出、JMeter 结果文件、时序库存历史指标

采集与判定示意

采集与判定示意
# 每晚跑基线并归档摘要(示意)
k6 run --summary-export=baseline/2026-10-13.json script.js
# 回归判定:新结果 p95 相对基线恶化超过 20% 时告警
# 连续两次以上恶化才升级为回归结论,单次波动先复跑确认

典型使用场景

  • 发版前后性能对照:给发布评审提供数据
  • 优化验证:优化方声称提升三成,基线说了算
  • 缓慢劣化发现:单次无感,趋势图一个月涨三倍
  • 扩容前后验证:确认容量提升符合预期
  • 环境变更评估:数据库升级、内核参数调整的影响
  • 性能门禁输入:基线数据决定阈值的合理档位

对照维度与要求

维度要求原因
环境同规格同网络核数网络不同数字不可比
数据量规模与分布一致索引与缓存行为随量级变化
脚本版本固定并记录脚本改了对比没有意义
并发模型并发与思考时间一致模型变化改变系统状态
跨环境比数字没有意义:核数、网络、缓存命中都不同。非要跨环境,先用标定任务换算再比,并注明假设。
性能波动天然存在:百分之几的抖动很常见,判定阈值要给噪声留空间,用连续多次恶化确认回归。
基线在「脏环境」采集等于白做:同机跑着其他任务时采的基线,会把偶发特征固化成「正常水位」。

易错点

  • 基线环境本身在漂移:从不重采,判定全错,定期用固定标定任务校准
  • 脚本改了还对比旧基线:口径变了数字没有可比性,基线要跟着重建
  • 单次结果当结论:一次波动就报警或庆幸,都是噪声
  • 结果不归档只存在聊天记录里:事后追溯全靠翻群聊,建立固定的归档目录
  • 阈值给得太紧:正常噪声天天报警,团队很快学会无视

数据来源与参考

  • Google SRE Workbook(监控与性能趋势)
  • k6 官方文档(CI 与回归趋势)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌