目录

一、JMeter简介

二、JMeter功能介绍

三、JMeter脚本

四、关于JMeter小提示


三、JMeter脚本


1.测试计划

测试计划是JMeter进行测试的起点 ,是其他JMeter测试元件的容器,每个测试场景/脚本都叫做一个测试计划。

(1)名称;与业务相关的名称

(2)注释:非必填

(3)用户定义的变量,引用时直接用${变量名}即可,这里的变量是全局变量,作用于整个测试计划。

(4)独立运行每个线程组:默认不勾选,即所有线程组并发启动。勾选则顺序执行所有线程组。

(5)

结束线程运行后,停止主线程。

(6)函数测试模式:默认不勾选 。勾选则记录详细请求,增加资源消耗,影响客户端性能。

(7)

向类路径(%JMeterHOME%\lib)中添加目录及JAR包。

2.VUser及场景设计

JMeter的场景设计 及Vuser都是在线程组下设计的。

这里线程-->Vuser(并发用户数)

循环次数及调度器-->场景设计模块

(1)线程属性:

线程数

Ramp-Up Period:线程间的时间间隔

循环次数:请求的重复次数 。

Delay thread Creation until needed:延迟创建线程,直到需要创建时创建。

(2)调度器

持续时间:测试计划持续时间,将覆盖结束时间

启动延迟:测试计划延迟多少时间启动,将覆盖启动时间。

3.使用Badboy进行脚本录制

Badboy录制较简单,无需使用代理;但不能像JMeter代理可以录制到URL相关的静态文件及dwr请求。

录制完成后导出为JMeter格式的,然后在JMeter中直接打开脚本就可以使用了。

4.参数化

(1)在测试计划中使用“用户定义变量”,

添加参数,然后找到需要参数化的脚本,将其值修改为:${key}即可

(2)使用自带的随机函数

JMeter中有函数助手,有多个内置函数,可以用相关函数进行参数化设置。

方法:打开函数助手 ,填写min,max ,函数名称,点击“生成”,复制生成的随机函数到需要参数化的地方 。

5.关联

JMeter的关联是基于正则和Xpath Extractor实现的。

(1)名称、注释、Apply to 默认即可。

(2)要检查的响应字段 :表示在哪个地方提取正则表达式,一般选择Body即可。

(3)引用名称:其他地方引用提取值的变量名称,引用方式为${变量名称}

(4)正则表达式,提取的正则表达式主体

(5)模板,用$$引用起来,正则表达式的提取模式,值从1开始 ,值0对应的是整个匹配的表达式。

(6)默认值,若返回结果中无匹配的值,则变量的值采用默认值 。

6.检查点

JMeter的检查点是用断言实现的,使用较多的是响应断言 。如下添加断言后,需要在相应的监听器中添加“断言结果”才能在执行后查看断言结果是否正确。

(1)名称、注释、 Apply to 默认

(2)要测试的响应字段,文本、代码均可

(3)模式匹配规则 :

匹配:需达到精确匹配

Equals:返回结果与指定结果一致

SubString:返回结果是指定结果的子串

否:不进行匹配

(4)要测试的模式,若设置多个断言结果 ,则需要所有结果通过才成功 ,否则失败

7.思考时间

JMeter的思考时间是用定时器实现的。默认时,JMeter发送请求是没有时间间隔的。添加间隔是为了更真实模拟用户请求,同时可以减少服务器压力。无论定时器放在哪里 ,它都会在Sampler前执行,若需要在某个位置暂停,,可加入Test Action。

定时器的作用域,若在线程组下添加多个定时器,则会累加作用于线程组内的所有Sampler,可以在单独的Sampler中添加定时器。

8.集合点

JMeter中使用Synchronizing Timer实现集合点功能 ,模拟多用户并发测试。

表示集合点够多少个用户才开始执行并发,在使用中发现最后一批线程数不够时,JMeter会停止不动。

9.结果分析

运行性能场景时,开启多个监听器会消耗资源 。常用的有聚合报告 、图形结果、监视器结果 等等。


四、关于JMeter小提示


1.尽量少用监听器

2.尽量把相似的Sampler放在循环内, 使用变量修改这些Sampler,而不是重复添加Sampler

3.不要使用函数测试模式

4.以CSV格式输出结果  ,尽量不用XML格式

5.只保存需要的数据结果

6.最好在调试脚本时使用断言,运行脚本时禁用断言 ,这样有利于精准测试结果

7.查看结果树和用表格查看结果监听器最好在调试脚本时使用,不在负载测试期间使用

8.若需要测试大量数据,则可以提前准备好测试Data并放在数据文件中,避免浪费资源 。

9.对于大并发量的负载测试,尽量在多台机器上运行多个非GUI JMeter实例,进行分布式测试。

10.若测试过程中报内存不足, 可以在jmeter的bin目录下找到jmeter.bat来修改JVM内存设置,如修改为:HEAP="-Xms512m -Xmx512m"这样可减小频繁申请创建、销毁内存引起的性能损耗开销。

转载于:https://blog.51cto.com/hongz/2065581

开源性能测试工具JMeter快速入门(二)相关推荐

  1. 开源性能测试工具JMeter快速入门(一)

    目录 一.JMeter简介 二.JMeter功能介绍 三.JMeter脚本 四.关于JMeter小提示 一.JMeter简介 1.定义 JMeter是Apache组织开发的基于Java的压力测试工具. ...

  2. matlab 写入 MYSQL_阿里开源MySQL中间件Canal快速入门

    前言 距离上一篇文章发布又过去了两周,这次先填掉上一篇秒杀系统文章结尾处开的坑,介绍一下数据库中间件Canal的使用. 「Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能 ...

  3. 深入浅出开源性能测试工具 Locust (使用篇 1)

    在<[LocustPlus序]漫谈服务端性能测试>中,我对服务端性能测试的基础概念和性能测试工具的基本原理进行了介绍,并且重点推荐了Locust这一款开源性能测试工具.然而,当前在网络上针 ...

  4. 开源性能测试工具 - Apache ab 介绍

    开源性能测试工具 - Apache ab 介绍 简介 ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可 ...

  5. ppt制作工具python-pptx 快速入门

    ppt制作工具python-pptx 快速入门 转载:https://www.jianshu.com/p/23734d34d788 hello #!/usr/bin/env python3 # -*- ...

  6. JMeter性能测试,完整快速入门篇

    Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工 ...

  7. 性能测试 软件 jmeter,快速学习Jmeter性能测试工具

    导读 本场chat将从零基础开始学习JMeter工具,文章主要包括JMeter基础知识.JMeter最简开发流程.运行与监听.JMeter元件库.脚本开发等方面讲解JMeter性能测试工具.将有部分实 ...

  8. 性能测试工具_K6性能测试工具的使用入门

    """ 之前偶然听到k6这款便捷的性能测试工具,好奇之下就用来玩了一下,结果真的不懒,做一些单接口的压测完全够用了, 所以写下这个介绍文档,第一是自己做一个笔记,第二是为 ...

  9. LINUX开源软件测试大乐,开源性能测试工具大比武

    如果我们需要模拟如下的负载,那就要想想办法咯~ 这里抛砖引玉希望熟悉这块儿的小伙伴们可以分享下踩过的坑 2.4.2 分布式执行 如果我们模拟高并发的场景,可能一台负载机是不够的这时候我们可以通过分布式 ...

最新文章

  1. MAT之NN:实现BP神经网络的回归拟合,基于近红外光谱的汽油辛烷值含量预测结果对比
  2. 5岁自学python编程-一张图告诉你孩子学编程怎么选
  3. HDU 2089:不要62(数位DP)
  4. Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)
  5. 机器学习:残差学习、RNN、GAN、迁移学习、知识蒸馏
  6. 有限元基础及ANSYS应用 - 第10节 - 实体结构的ANSYS分析
  7. Wordpress 优化小结 杜绝博客因为CPU 占用过高被封
  8. swconfig iwpriv iwinfo iwlist iwconfig
  9. PHP接入萤石云开放平台直播功能
  10. 基于STM32单片机的智能电表无线WIFI插座APP电压电流检测方案原理图程序设计
  11. 剖析 OceanConnect 物联网特性
  12. latex 公式编号
  13. M2TR: 复旦提出首个多模态多尺度Transformer
  14. untiy TextMeshPro(简称TMP)组件详细内容
  15. 推荐七大写作利器,总有一款适合你
  16. 股票自选股基本函数大全-8
  17. 【其它】visio画泳道图/跨职能流程图
  18. CobaltStrike 部署
  19. 【python】python代码加密与License控制
  20. JAVA在本地创建一个文件 向文件里面写入内容

热门文章

  1. 【离散数学】单向连通和弱连通的区别
  2. python天下第一什么梗_「PHP 是最好的语言」这个梗是怎么来的?
  3. php的4种常用运行方式
  4. python数组写入txt
  5. @ARGV:perl命令行参数
  6. 区块链开发公司:区块链技术如何改变个人数据安全
  7. Java多线程之Synchronized详解
  8. linux入门怎么学?
  9. Watson的未来就是IBM的未来
  10. xcode 不值钱的动画UIButton