JMETER 并剥离响应数据,适合性能测试,节省资源和带宽。

你贴的这一段是 JMeter 分布式测试中的 jmeter.properties 配置片段,主要用于控制分布式模式下从 slave 端传输采样结果(SampleResult)给 master 的行为。

下面是对每一部分的解释:


🔹 sample_sender_strip_also_on_error=true

含义:

  • 当设置为 true(默认),表示在使用“Stripped”模式时,即使是请求失败(错误),JMeter 也会把响应数据(如 response body)从 SampleResult 中剥离,不发送给 master。

  • 如果你希望失败请求保留完整响应信息,应将其设置为:

    sample_sender_strip_also_on_error=false
    

🔹 Remote batching support(远程批处理支持)

这部分解释的是 JMeter 分布式测试时,SampleResult 是如何被 slave 批量发送到 master 的。

❗ 关键属性:mode

#mode=Standard
#mode=Batch
#mode=Statistical
#mode=Stripped
#mode=StrippedBatch

你可以选一个模式启用(取消注释即可),它决定 slave 如何发送测试数据给 master:

模式描述
Standard 默认行为,一条条结果发送(效率较低)。每个请求后立即将 SampleResult 传送到 master。适合调试使用。
Batch 批量发送,每 100 个结果或 1 分钟打包传送。提高性能,适合大规模测试。
Statistical 不传每个样本,而是发送统计摘要(如平均、成功率等)。结果不能查看单个请求。适合极大数据量但对详细数据不敏感的测试。
Stripped Standard 类似,但移除 SampleResult 中的响应数据(如响应体),减小网络传输压力。
StrippedBatch(默认) Batch 类似,并剥离响应数据,适合性能测试,节省资源和带宽。

🔹 key_on_threadname=false

含义:

  • 如果设置为 true,在统计 Statistical 模式下,以 threadName 为维度聚合统计;

  • 默认为 false,以 threadGroup 聚合。


🔹 mode=org.example.load.MySampleSender

  • 你也可以使用自定义类来控制 SampleResult 的发送行为;

  • 这个类需实现接口:org.apache.jmeter.samplers.SampleSender


✅ 总结建议

如果你关注性能,且不需要查看响应数据:

mode=StrippedBatch
sample_sender_strip_also_on_error=true

如果你需要调试或排查问题,想看到详细的响应内容:

mode=Standard
sample_sender_strip_also_on_error=false

你可以根据需要启用其中一种模式。默认是 StrippedBatch 模式。

posted @ 2025-06-12 15:33  不带R的墨菲特  阅读(47)  评论(0)    收藏  举报