You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter负载测试中如何单独统计各HTTP采样器响应数据大小

JMeter各采样器单独统计响应总大小方案

核心逻辑是给每个采样器分配独立的属性存储累计响应大小,用采样器名称作为属性唯一标识,避免不同采样器的数据互相覆盖。

修改后的Beanshell代码

import java.util.io.*;
import java.lang.io.*;

// 获取当前采样器的单次响应数据大小
int currentSize = prev.getResponseDataAsString().length();
// 获取当前采样器的名称
String samplerName = ctx.getCurrentSampler().getName();

// 日志记录单次响应大小
log.info("采样器[" + samplerName + "] 单次响应大小: " + currentSize);

// 读取该采样器已累计的总大小,无历史记录则初始化为0
int totalSize = props.get(samplerName + "_total_size") != null 
    ? Integer.parseInt(props.get(samplerName + "_total_size").toString()) 
    : 0;

// 累加当前响应大小并更新属性值
totalSize += currentSize;
props.put(samplerName + "_total_size", String.valueOf(totalSize));

// 日志记录累计总响应大小
log.info("采样器[" + samplerName + "] 累计总响应大小: " + totalSize);

使用说明

  • 将上述代码替换原Beanshell采样器中的代码,确保Beanshell采样器放在每个需要统计的HTTP采样器之后。
  • 负载测试运行时,可通过JMeter日志查看每个采样器的单次响应大小和累计总大小;测试结束后,可通过props.get("目标采样器名称_total_size")提取对应采样器的累计响应总大小,用于后续报告生成。
  • 如需重置某采样器的累计数据,可添加判断逻辑(比如匹配特定采样器名称时,将对应属性值设为0)。

内容的提问来源于stack exchange,提问作者Nitin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:24:55