• jmeter常用功能(性能方向)


    一、前言

      对测试来说,jmeter应该是大家使用较频繁的测试工具之一,因为其开源、免费、轻量、功能强大,支持很多种协议,除了测功能,还能做自动化和性能测试;
      据某机构的调查,性能并发工具中,jmeter市场占有率已经50%+,超过了老大哥loadrunner;这么一款如此优秀的工具,对测试而言,是必须掌握的;经常看到群里大家讨论jmeter的各种功能,我发现有些朋友过度使用了一些不必要的功能;其实,jmeter常用的功能并不多,把主要的掌握,基本上就可以搞定90%的需求了,所以,不要把时间耗费在工具不常用的功能上,如果是做性能测试,分析定位调优才是重点

    二、jmeter常用功能(性能方向

      从jmeter2.x版本用到现在的5.x,常用的功能也就下面列举的这些,我不详细单讲,因为网上很多介绍,我博客或者B站,也有对应的实战应用:

    测试计划

    线程组

    【Sampler】

      HTTP请求:可以参考:测试必备:jmeter测试http协议接口的各种传参方式        

      BeanShell Sampler       

      Debug Sampler:只看到jmeter变量如果是其它协议,比如java、dubbo、websocket、smtp、tcp、jdbc,添加对应的取样器等即可,如果没有,那么就需要我们自己开发,所以,java基础是必备的。

    【逻辑控制器】

      事务控制器       

      ForEach控制器        

      仅一次控制器

    【前置处理器】

      BeanShell PreProcessor

    【后置处理器】

      正则表达式提取器:关联的方式很多,我喜欢用万能的正则。另外,大家可以看之前写的:jmeter关联的5种方式       

      Debug PostProcessor:除了可以看到jmeter变量,还可以看到配置信息,最好放在正则表达式提取器后面,否则看不到提取的结果        

      BeanShell PostProcessor

    【断言】

      响应断言       

      BeanShell断言

    【定时器】

      常数定时器        

      高斯随机定时器        

      Synchronizing Timer

    【配置元件】

      HTTP信息头管理器        

      HTTP Cookie管理器        

      CSV 数据文件设置       

      HTTP请求默认值 

    【监听器】

      查看结果树        

      聚合报告
    函数助手

      常用的函数需要掌握,如随机函数等,举例:生成1-1000的随机数,可以通过${__Random(1,1000,key)}生成随机数,通过${key}可以获取这个随机数;
    分布式压测

      分布式压测也是需要掌握的,参考:jmeter5.1分布式压测
      另外,beanshell相关的,可以参考:玩转jmeter:beanshell必备技能

    三、jmeter执行顺序

      配置元件 → 前置处理器 → 定时器 → 取样器 → 后置处理器 → 断言 → 监听器;

      同一层级的,顺序执行;  

    四、jmeter最佳实践

      最后,我们来看看官方的最佳实践,地址是:https://jmeter.apache.org/usermanual/best-practices.html

      

      大概意思是:Jmeter压测时减少资源使用的一些建议,即使压测结果会更准确。翻译如下:

      1.使用CLI(Command Line interface:命令行界面)模式:jmeter-n-t test.jmx-l test.jtl

      2.尽可能少地使用侦听器;如果像上面那样使用-l标志,它们都可以被删除或禁用。

      3.在负载测试期间不要使用“查看结果树”或“查看表中的结果”侦听器,只在脚本编写阶段使用它们来调试脚本。

      4.不要使用很多相似的采样器,而是在一个循环中使用相同的采样器,并使用变量(CSV数据集)来改变样本。[Include控制器在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中。]

      5.不使用功能模式

      6.使用CSV输出而不是XML

      7.只保存您需要的数据

      8.尽量少用断言

      9.使用性能最高的脚本语言(请参阅JSR223部分)

      如果您的测试需要大量的数据(特别是如果需要随机化的话),请在一个可以用CSV数据集读取的文件中创建测试数据。这避免了在运行时浪费资源。

    参考链接:https://mp.weixin.qq.com/s/0zL3HbmJ_YluNPdQ1QwRbA

  • 相关阅读:
    比赛:小奔的方案 solution
    比赛:小奔的矩形solution
    比赛:小奔与不等四边形solution
    NOIP2018普及T2暨洛谷P5016 龙虎斗
    Java-GUI基础(三)java.swing
    Java-GUI基础(二)java.awt
    Java-GUI基础(一)
    Java集合(类)框架(三)
    Java集合(类)框架(二)
    Java集合(类)框架(一)
  • 原文地址:https://www.cnblogs.com/huainanhai/p/12350108.html
Copyright © 2020-2023  润新知