Jenkins pipeline使用Performance插件执行JMeter测试构建失败求助
问题排查方向
- 核查上一次成功构建的JMeter结果数据,确认
TG01_TS01_RTPSR_WB_HR24_NavigateThroughWebsiteGroups - JSR223_Reset Variables for next iteration采样器的响应时间统计值:该采样器为变量重置的工具类采样器,执行耗时极短可能被统计为0,你开启了compareBuildPrevious: true和上一次构建对比,相对偏差计算公式为(本次指标值-上次指标值)/上次指标值 * 100%,上次指标值为0时会触发整数溢出,生成你遇到的异常超大百分比。 - 校验本次构建输出的JMeter CSV结果文件,确认该采样器的响应时间、执行状态等字段是否存在统计异常。
- 确认插件阈值触发逻辑:你配置了
modeOfThreshold: true开启阈值校验,relativeFailedThresholdPositive: 80.0设置正相对偏差失败阈值为80%,异常溢出的百分比远超过阈值,直接触发构建失败。
解决方法
- 过滤无效采样器:在
perfReport的filterRegex参数中配置正则,排除无业务性能统计意义的工具类采样器,示例配置如下:perfReport compareBuildPrevious: true, filterRegex: '^(?!.*JSR223_Reset Variables).*$', ignoreFailedBuilds: true, ignoreUnstableBuilds: true, modeOfThreshold: true,relativeFailedThresholdPositive: 80.0, relativeUnstableThresholdPositive: 80.0, sourceDataFiles: "/Results/${params.reportName}.csv" - 调整阈值对比规则:如果需要保留该采样器的统计,可将
compareBuildPrevious设为false关闭跨构建对比,改用绝对阈值校验;也可升级Performance插件到最新版本,旧版本普遍存在除以0场景下的数值溢出bug。 - 优化JMeter侧配置:在JMeter中对该JSR223采样器勾选「不纳入统计」选项,或者生成结果文件时直接过滤该类采样器,避免无效数据流入Jenkins性能统计环节。
内容的提问来源于stack exchange,提问作者pratik
相关产品推荐
相关产品推荐

