热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【性能测试】Jmeter基础

文章目录一、Jmeter的组成二、Jmeter组件介绍一、Jmeter的组成Jmeter组成断言:适合做自动化测试,多并发不推荐用断言,


文章目录

    • 一、Jmeter的组成
    • 二、Jmeter组件介绍


一、Jmeter的组成

Jmeter组成
在这里插入图片描述


  • 断言:适合做自动化测试,多并发不推荐用断言,性能测试不是准确性测试。

  • 配置元件:并发前,配置信息。

  • 后置处理器:并发完成之后想要做些什么,可以用来处理关联问题。

  • 前置处理器:请求发生前要干什么。

  • 逻辑控制器:当满足了什么什么,就做什么什么。

    女朋友对程序员说: “亲爱的,去超市买一个西瓜吧, 如果他们还有鸡蛋,再买20个。” 结果程序员带了21个西瓜回家。 女朋友愤怒地说:“为什么买21个西瓜回来”? 程序员答:“因为他们确实有鸡蛋”。
  • Sampler:放的是真正意义上的请求。


二、Jmeter组件介绍


  • 线程组——Jmeter实现多并发
    负载发生器,用多线程或多进程的方式来模拟用户的使用行为。Jmeter是以线程的方式来进行模拟用户的并发访问的。


  • 逻辑控制器——Jmeter实现逻辑分支控制
    用来控制测试脚本的逻辑判断,也可以理解为如何控制脚本的运行。例如:如果控制器,就是当满足什么样的条件后执行哪一步操作。


  • 配置元件——Jmeter实现配置管理
    用来提供一些配置相关的信息,如Http请求头、COOKIE管理,提供参数化数据。还可以进行用户自定义变量等配置,定义常量等。

    • JDBC Connection Configuration
      在这里插入图片描述
    • JDBC Request
      在这里插入图片描述

  • 前置处理器——Jmeter实现请求预处理
    用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,用户参数,可以在实际发送请求之前来定义变量,可以在后边的实际请求中进行使用。


  • 定时器——Jemeter集合点、定时并发
    用于操作与操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LoadRunner里的“思考时间”。设置等待时间主要是为了模拟用户实际的使用场景。


  • Sampler——Jmeter实现各种请求的发送
    取样器,是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,Jmeter原生支持多种不同的Sampler。


  • 后置处理器:Jmeter实现关联
    (关联概念的应用器)用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特点数据。

    • 正则表达式提取器:常用来提取token
      在这里插入图片描述
      Regular Expression:
      ():表示封装待返回的匹配字符串
      .:匹配任何字符
      +:一次或多次
      ?:不要贪婪,在找到第一个匹配项后停止
      .*:任意字符
      \d:数字字符匹配,等效于[0,9]

      Template:
      $0$:获取表达式中的全部内容 (name=tj_login class=lb>登录)
      $1$:获取表达式中匹配到的第一个内容 (lb)
      $1$$2$:表达式中匹配到的第一个内容和第三个内容的拼接(lb登录)

      Macth No.:
      正则表达式匹配数据的最终结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。当为 0 时,随机返回匹配的数据。

      Default Value:
      匹配失败时的默认值。通常用于后续的逻辑判断,可以使用一些特殊含义的,比如0,NULL,ERROR等。


  • 断言——Jmeter实现数据预判
    断言用于检查测试中得到的相应数据是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。


  • 监听器——Jmeter实现监控数据可视化
    用来对测试数据进行处理和可视化展示的一系列组件。例如:查看结果树,聚合报告。


  • 函数助手
    Tools->Function Helper Dialog
    选择函数->填写值-> 生成函数名

    • 随机数(_Random)

    • 参数化助手(_CSVRead):以文件的形式做参数化
      在这里插入图片描述
      csv文件列号:从0开始

    • 计数器(_counter)
      计数器生成
      全局计数器(true)和线程计数器(false)区别
      全局计数器(true)和线程计数器(false)区别

    • 唯一数(_UUID)


推荐阅读
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Oracle 用户锁定问题及解决方法
    本文介绍了如何在 Oracle 数据库中检查和处理用户锁定问题,包括查询被锁定的用户、解锁用户以及调整登录失败次数限制的方法。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 本地存储组件实现对IE低版本浏览器的兼容性支持 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
author-avatar
爱恨情仇4131_120
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有