JMeter常用后置处理器性能比较(上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter常用后置处理器性能比较(上)相关的知识,希望对你有一定的参考价值。

前几天看了这篇文章 JMeter – Response Data Extractors – Comparison ,结论有点吓人

 

技术分享

用了css提取器吞吐率降到不足1/15?!按作者结论最快的正则提取器也降到1/5?

如果真是那样那没法用了,就好像测水温,温度计一插下去降了80度那还测个毛……

 

让我觉得奇怪的是,作者没有放出每个提取器里写了什么,为啥用一段XML的报文能测这么多提取器

实验了一下发现,作者的测试方法就是提取器里什么都不写

当且仅当什么都没写时,作者的结论才是正确的……

 

但如果放到更贴近实际的场景里测试,会得出完全不一样的结论:

这些提取器在什么都没写时,比实际做了什么还慢得多,导致这么吓人的测试结果

 

下面来个正经点的测试,按不同返回类型比较提取器


 环境:jmeter 2.13、JDK 1.8u73、JVM参数从来没动过、win 10 pro

 

测试计划如下:

技术分享

先用单线程单循环调试,调试采样器和查看结果树都打开

 

事前准备

所有dummy sampler都设成没有延时

技术分享

 请求数据不用改,响应数据分别设置:

xml跟那文章的作者一样贴这个 http://www.w3schools.com/xml/cd_catalog.xml

html随便来个google地图的示例

技术分享

json用这里面的 http://goessner.net/articles/JsonPath/

 

红框圈出的是分别想提取的数据:

技术分享  技术分享技术分享

 

设置好各提取器,调试,发现xpath提取器报错了

技术分享

看看dummy sampler里的html,发现是 & 符号搞鬼,改成url编码 &

 技术分享

 再试,还有错

技术分享

把async和defer改成符合xhtml规范,搞定

技术分享

 

调试通过后的各提取器设置如下:

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

调试结果如下:

技术分享

 

技术分享

技术分享

 

接下来修改各个线程组设置:

技术分享

一律设成10线程,1秒集结(即每隔0.1秒来1个),持续60秒,没启动延迟。跟那文章作者的设置保持一致

(开始和结束时间是自动生成的,不用管,设了持续时间它们就用不上了)

 

最后选中用不着的组件,按ctrl + t禁用掉(就是图中变灰那些),就可以开始实际测试了

图有点多,测试过程及结果留到下一篇放出

以上是关于JMeter常用后置处理器性能比较(上)的主要内容,如果未能解决你的问题,请参考以下文章

JMeter中Groovy和BeanShell脚本的性能比较

JMeter-BeanShell预处理程序和BeanShell后置处理程序的应用

jmeter常用操作

Jmeter(十七) - 从入门到精通 - JMeter后置处理器 -上篇(详解教程)

Jmeter性能测试常见问题集(2)

Jmeter关联