Jmeter性能测试(1)---基础介绍

2023-05-16

jmeter(一)基础介绍

参考书籍:段念《软件性能测试与案例剖析》——第二版

推荐一本书《零成本实现web性能测试——基于Apache—jmeter》,主要内容是一些关于jmeter的实战使用,想学习的可以去看看。。。

jmeter是一款优秀的开源性能测试工具,目前最新版本5.4.1版本,官网文档地址:http://jmeter.apache.org/usermanual/index.html

一、优点

1、开源工具,可扩展性非常好

2、高可扩展性,用户可自定义调试相关模块代码

3、精心简单的GUI设计,小巧灵活

4、完全的可移植性和100%纯java

5、完全swing和轻量组件支持(预编译的HAR使用javax.swing.*)包

6、完全多线程框架,允许通过多个线程并发取样以及单独的线程对不同的功能同时取样

7、支持脚本取样器

二、安装及下载

这里附一个最新的jmeter官网下载地址:

http://jmeter.apache.org/download_jmeter.cgi

该链接是3.0版本的jmeter安装包

jmeter本身不需要安装,只需要配置好JDK环境,然后在在jmeter文件中的bin文件中打开jmeter.bat文件即可

最新版本,建议配置的JDK最好用1.7及以上版本

三、基础构成

1、组成部分

1)负载发生器:产生负载,多进程或多线程模拟用户行为

2)用户运行器:脚本运行引擎,用户运行器附加在进程或线程上,根据脚本模拟指定的用户行为

3)资源生成器:生成测试过程中服务器、负载机的资源数据

4)报表生成器:根据测试中获得的数据生成报表,提供可视化的数据显示方式·

2、主要概念

2.1测试计划(test plan)

描述一个性能测试,包含本次测试所有相关功能

2.2.threads(users)线程

Setup thread group:

一种特殊类型的线程,可用于执行预测试操作。即执行测试前进行定期线程组的执行

Teardown thread group:

一种特殊类型的线程,可用于执行测试后动作。即执行测试结束后执行定期的线程组

以上两个线程组,举个例子:loadrunner的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块,与其对应

Thread group:

通常添加使用的线程,一般一个线程组可看做一个虚拟用户组,其中每个线程为一个虚拟用户

2.3测试片段(test fragment)

2.5版本之后新增的一个选项,是一种特殊的线程组,在测试树上与线程组一个层级,但是它不被执行,除非它是一个模块控制器或者被控制器所引用时才会被执行

2.4控制器

Jmeter有2种控制器:取样器(sampler)和逻辑控制器(Logic Controller)

作用:用这些原件驱动处理一个测试

1)取样器(Sampler)

是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler 

如 HTTP Request Sampler 、 FTP  Request Sampler 、TCP  Request Sampler 、JDBC Request Sampler 等

每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。

Java Request Sampler 和 Beanshell Request Sampler 是两种特殊的可定制的 Sampler (暂不讨论)

2)逻辑控制器(Logic Controller)

包含两类原件:

一类是控制Test Plan中Sampler节点发送请求的逻辑顺序控制器,常用的有:If Controller、Swith Controller、Loop Controller、Random Controller等

另一类是用来组织和控制Sampler节点的,如Transaction Controller、Throughput Controller等

2.5监听器(Listener)

对测试结果进行处理和可视化展示的一系列组件,常用的有图形结果、查看结果树、聚合报告等

以上的五类原件就可以构成一个简单的性能测试脚本

下面再介绍几种jmeter提供的其他组件:

2.6配置原件(Config Element)

用于提供对静态数据配置的支持。CSV Date Set Config可以将本地数据文件形成数据池(Date Pool),而对应于HTTP Request Configuration

和TCP Request Sample等类型的Configuration元件则可以修改这些Sample的默认数据等

2.7定时器(Time)

用于操作之间设置等待时间,等待时间使性能测试中常用的控制客户端QPS的手段,jmeter定义了Constant Times、

Constant Throughput Times、Guass Ramdon Times等不同类型的Times

2.8断言(Assertions)

用于检查测试中得到的响应数据等是否符合预期,Assertions一般用来设置检查点,用以保证性能测试过程中的数据交互与预期一致

2.9前处理器(Pre Processors)

用于在实际请求发出之前对即将发出的请求进行特殊处理。

例如:Count处理器可以实现自增操作,自增后生成的的数据可以被将要发出的请求使用,而HTTP URL Re—Writing Modifier处理器则可以实现URL重写,

当URL中有sessionID一类的session信息时,可以通过该处理器填充发出请求实际的sessionID。

2.10后处理器(Post Processors)

用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似loadrunner中的关联)。

例如:Regular Expression Extractor用于提取响应数据中匹配某正则表达式的数据段,并将其填充在参数中,Xpath Extractor则可以用于提取响应数据中通过给定Xpath值获得的数据。。。

Jmeter性能测试(2)---脚本录制

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jmeter性能测试(1)---基础介绍 的相关文章

  • 前端全模块常见面试题与答案详解

    x1f353 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f353 学习建议 xff1a 以下 x1f447 内容不建议死记硬背 xff0c 而且内容太多也记不住 xff0c 建议了解链接里面的详情解释之后在理解我总结
  • 一、Echart图表 之 基本使用及配置项

    x1f353 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f353 前言介绍 xff1a 以下 x1f447 内容是我个人对于该技术的总结 xff0c 如有不足与错误敬请指正 xff01 x1f353 欢迎点赞 x1f
  • 三、Echart图表 之 X轴(xAxis)与 Y轴(yAxis)配置项大全

    x1f353 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f353 前言介绍 xff1a 以下 x1f447 内容是我个人对于该技术的总结 xff0c 如有不足与错误敬请指正 xff01 x1f353 欢迎点赞 x1f
  • 二、Echart图表 之 title配置项大全

    x1f353 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f353 前言介绍 xff1a 以下 x1f447 内容是我个人对于该技术的总结 xff0c 如有不足与错误敬请指正 xff01 x1f353 欢迎点赞 x1f
  • 四、Echart图表 之 颜色color配置项大全

    x1f353 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f353 前言介绍 xff1a 以下 x1f447 内容是我个人对于该技术的总结 xff0c 如有不足与错误敬请指正 xff01 x1f353 欢迎点赞 x1f
  • 五、Echart图表 之 legend图例组件配置项大全

    x1f353 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f353 前言介绍 xff1a 以下 x1f447 内容是我个人对于该技术的总结 xff0c 如有不足与错误敬请指正 xff01 x1f353 欢迎点赞 x1f
  • linux/clearlinux/ubuntu curl 命令详解

    介绍 xff1a cURL是一个利用URL语法在命令行下工作的文件传输工具 xff0c 1997年首次发行 它支持文件上传和下载 xff0c 所以是综合传输工具 xff0c 但按传统 xff0c 习惯称cURL为下载工具 cURL还包含了用
  • 六、Echart图表 之 tooltip提示框组件配置项大全

    x1f353 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f353 前言介绍 xff1a 以下 x1f447 内容是我个人对于该技术的总结 xff0c 如有不足与错误敬请指正 xff01 x1f353 欢迎点赞 x1f
  • 常用方法——9.js中无区别分割中英文逗号的字符串成为数组

    x1f348 作者主页 xff1a x1f496 仙女不下凡 x1f496 x1f348 前言介绍 xff1a 以下 x1f447 内容都是我个人对于前端知识的总结 xff0c 会定期更新欢迎持续关注 xff01 x1f348 欢迎点赞 x
  • 6.常见报错-已解决:v-on event ‘@showSizeChange‘ must be hyphenated

    x1f33a 作者主页 xff1a x1f331 仙女不下凡 x1f331 x1f33a 欢迎点赞 x1f44d 收藏 留言 x1f4dd 如有错误敬请指正 xff01 v span class token operator span on
  • 记录·linux系统中硬盘的挂载与格式化

    一 首先为虚拟机添加新硬盘 xff1a 1 单击 硬盘 开始进行硬盘的添加 xff1a 这时新添加的硬盘还不能用 xff0c 我们还需继续进行对磁盘的第二个步骤 xff1a 分区 二 磁盘的分区 1 这时我们需使用 lsblk 命令 xff
  • 记录 · linux系统创建RAID

    目标需求 xff1a 创建RAID卷设备名为md127 级别5 xff0c 使用2个硬盘建立RAID 1个硬盘作为热备份 并创建成ext3系统文件 xff0c 最后挂载到 mnt md127 一 说明 一般创建RAID卷有两种方法 xff0
  • 记录 · Samba服务部署

    Samba 服务器可以使用户在异构网络操作系统之间进行文件共享 Samba 服务器提供了在Windows 环境下共享 Linux 中用户目录的一个工具 在Linux 中安装Samba 后 xff0c Windows 用户只需进行简单的用户登
  • ROS如何创建一个发布者Publisher

    1 创建工作环境 首先我们需要在主文件夹创建功能包 先创建一个文件夹 mkdir catkin ws cd catkin ws mkdir src catkin ws为我们文件夹的名称 添加工程包需要的依赖 cd catkin ws src
  • C++书籍推荐(小白变大牛最全书单)

    一 C 43 43 书籍推荐之手册类 xff08 适用所有级别 xff09 可以关注博主的微 信 公 众 号 xff1a C和C加加 回复 88 即可领取相关电子书和C 43 43 教程大全 1 C 43 43 程序设计语言 The C 4
  • 最新C语言编程软件推荐(2021整理)

    一 C语言编程软件推荐 C语言编程软件适于编写系统软件 xff0c 是学习编程的同学们的必备软件 c语言一种应用非常广泛的编程语言 xff0c 不仅仅是在软件开发上 xff0c 而且各类科研都会用到c语言 今天小编给大家汇总下C语言的编程软
  • Jmeter性能测试(4)---HTTP请求详解

    jmeter xff08 四 xff09 HTTP请求 启动jmeter xff0c 建立一个测试计划 启动 xff1a 打开jmeter文件夹 xff0c bin文件 jmeter bat xff08 Windows执行文件 xff09
  • C语言和C++的区别和联系

    C语言虽说经常和C 43 43 在一起被大家提起 xff0c 但可千万不要以为它们是一种编程语言 我们来介绍C语言和C 43 43 中的区别和联系 首先C 43 43 和C语言本来就是两种不同的编程语言 xff0c 但C 43 43 确实是
  • 字符串的定义及何时添加‘\0‘问题

    定义字符串的六种形式 xff1a char arr 61 34 hello world 34 原理 xff1a 字符串常量的值本质上是第一个字符的地址 char arr arr 61 34 hello world 34 的改写 char a
  • 什么是云技术?

    云技术是指在广域网或局域网内将硬件 软件 网络等系列资源统一起来 xff0c 实现数据的计算 储存 处理和共享的一种托管技术

随机推荐

  • 深度学习神经网络归一化方法及MATLAB函数

    归一化方法及 MATLAB函数 数据归一化方法是神经网络预测前对数据常做的一种处理方法 数据归一化处理把所有数据都转化为 xff3b 0 xff0c 1 xff3d 之间的数 xff0c 其目的是取消各维数据间数量级差别 xff0c 避免因
  • 2022数模国赛B题无人机第一题第一小问的简单编程

    前言 2022年国赛B题是关于无人机定位的抽象模型 xff0c 总体难度不大 接下来简单介绍一下第一题第一小问的程序实现 xff0c 当时国赛仓促 xff0c 写的比较简略 xff0c 仅供参考 背景介绍 无源定位 第一个关键词是无源定位
  • Linux基础之网络编程

    网络编程篇 一 网络编程概述二 字节序三 socket编程步骤四 socket服务端和客户端代码的初步实现五 简单的ftp项目实现的功能有哪些 xff1f 六 ftp项目服务器和客户端代码实现 一 网络编程概述 1 进程间通信 xff1a
  • F450无人机组装与调试

    文章目录 认识无人机零部件机架图片 电机电调螺旋桨飞控套件 包括飞控 LED信号灯 xff0c GPS模块 xff0c 电源管理模块 遥控器及遥控器接收机电池护桨 确认工具清单组装过程1 组装机架2 组装电机判断电机正反选择螺丝组装电机连接
  • Openstack-mitaka安装部署

    openstack 一台controller xff0c 一台compute 且两台均为双网卡 xff0c ens33为主网卡 xff0c ens36不需要配置IP 主机名称 网卡名称 网卡类型 网卡IP ens33 controllere
  • Vue history模式路由 部署到二级目录 配置

    1 nginx配置 https xxxx com cms gt C static server cms location cms root C static server 项目部署资源所在磁盘目录 index index html try
  • 【Docker】将本地镜像推送到远程库/私有库

    前言 这里记录如何将本地镜像推送到远程库和私有库 区别 xff0c 一个是存放到阿里云 xff0c 同一个团队可以登录到同一个阿里云仓库 xff0c 去拉取镜像 一个是存放到本地私有库 xff0c 同一个团队可以连接同一个私有库 xff0c
  • HTTP协议--几种数据传输方式

    1 xff09 无状态 http协议是一种自身不对请求和响应之间的通信状态进行保存的协议 xff0c 即无状态协议 这种设置的好处是 xff1a 更快的处理更多的请求事务 xff0c 确保协议的可伸缩性 不过随着web的不断发展 xff0c
  • PDU 超链接

    http blog sina com cn s blog 453226290102wvnu html http blog sina com cn s blog 453226290102wvnv html http blog sina com
  • Canal监控MySQL数据到Kafka详细步骤(jdk+zookeeper+kafka+canal+mysql)

    目录 一 前言二 环境准备三 安装JDK四 安装zookeeper五 安装Kafka六 安装MySQL七 安装canal服务端 xff08 canal监控mysql数据发送到kafka xff09 八 测试是否可以监控到数据九 结语 一 前
  • 流媒体服务器搭建

    本文介绍如何在阿里云 腾讯云等云主机上搭建流媒体服务器 xff0c 包括如何选择云主机配置 如何选择带宽和流媒体服务器软件选择等 流媒体服务器是支撑视频播出的基础系统 xff0c 具有视频直播 视频点播的播出能力 xff0c 有些使用场景下
  • 什么是BGP

    文章目录 1 基本概念什么是BGPBGP路由协议的特点IBGP水平分割规则BGP的路由器号 Router ID BGP工作原理BGP分类 1 基本概念 自治系统 xff0c 指的是在同一个组织管理下 使用相同策略的设备的集合 xff1b 不
  • Web服务------Nginx域名重定向(Location匹配与Rewrite重写)

    目录 一 常用的Nginx正则表达式二 location1 location 的分类2 location 常用的匹配规则3 location 优先级4 location 示例说明5 优先级总结6 匹配规则 二 rewrite1 rewrit
  • 华为云-计算云服务介绍

    前言 相信很多小伙伴在刚开始接触各类云产品的时候 xff0c 被各种各样的云产品类如规格 型号 价格 适用场景等问题所困扰 本文就给大家介绍一下华为云常见云产品的规格区别和适用场景 帮助大家选择合适的云产品 文章目录 前言一 计算云服务1
  • 数据资源 | 八大板块!数据公开下载渠道

    本文综合整理自网站企研 中国学术大数据平台 xff08 https r qiyandata com xff09 来源 xff1a 企研 中国学术大数据平台 公共数据资源 目录 三农 地理信息 生态环境 碳中和 调查数据 省级统计局 省级政府
  • [C++] std::vector

    std vector template lt class T class Alloc 61 allocator lt T gt gt class vector generic template vector是表示可以改变大小的数组的序列容器
  • centos克隆

    下一步 下一步 选中创建完整克隆 启动克隆的系统 编辑 xff1a vi etc udev rules d 70 persistent net rules 修改之后 修改端口号和attr 修改完 执行 重启 xff1a reboot pin
  • 用pyhon下载jupyter遇到的问题(pip版本过低)

    首先安装jupyter 的前提是需要提前安装python 3 3版本及以上 然后输入 pip install jupyter 出现下面问题 python V 在命令行窗口输入 xff0c 验证python的版本 pip install ju
  • ubuntu利用usb_cam打开摄像头

    一 安装摄像头驱动usb cam 想要标定多个相机 xff0c 首先得把相机打开吧 xff0c usb cam是针对usb摄像头的ros驱动包 xff0c 简单来说就是得有这个功能包 xff0c 才能在ros中把摄像头打开 首先打开终端 x
  • Jmeter性能测试(1)---基础介绍

    jmeter xff08 一 xff09 基础介绍 参考书籍 xff1a 段念 软件性能测试与案例剖析 第二版 推荐一本书 零成本实现web性能测试 基于Apache jmeter xff0c 主要内容是一些关于jmeter的实战使用 xf