JMeter性能测试工具中如何用zStd解压压缩响应数据
JMeter中使用zStd解压响应内容
放置依赖jar包
将下载的zstd-jni-1.5.5-5-win_x86.jar复制到JMeter安装目录的lib文件夹,重启JMeter让依赖生效。添加JSR223后置处理器
在目标HTTP请求节点下,右键选择「添加」→「后置处理器」→「JSR223 PostProcessor」。编写解压脚本
在JSR223 PostProcessor的脚本编辑区,粘贴以下Groovy代码:
import com.github.luben.zstd.Zstd import java.nio.charset.StandardCharsets // 获取压缩响应的字节数组 byte[] compressedBytes = prev.getResponseData() try { // 执行zStd解压 byte[] decompressedBytes = Zstd.decompress(compressedBytes, Integer.MAX_VALUE) String decompressedContent = new String(decompressedBytes, StandardCharsets.UTF_8) // 保存解压结果到变量,供后续组件使用 vars.put("decompressed_response", decompressedContent) // 替换请求的响应内容,在查看结果树中直接显示解压后的数据 prev.setResponseData(decompressedBytes) } catch (Exception ex) { log.error("zStd解压失败: " + ex.getMessage(), ex) }
说明
prev是JMeter内置的SampleResult对象,用于获取和修改当前请求的响应数据vars用于将解压结果存储为JMeter变量,可通过${decompressed_response}在其他组件中引用- 如果解压失败,错误信息会输出到JMeter的日志中,方便排查问题
内容的提问来源于stack exchange,提问作者Nivethitha SK
相关产品推荐
相关产品推荐

