JMeter:性能测试和压力测试工具详解

news2025/1/11 14:14:20

🍅 视频学习:文末有免费的配套视频可观看

🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨

JMeter简介

JMeter时Apache下基于java的一款性能测试和压力测试工具。它基于Java开发,可对HTTP服务器华人FTP服务器,甚至是数据库进行压力测试。作为一款专业的压测工具,JMeter功能强大,本片文章中仅简单介绍与本次压测相关的内容,从JMeter下载安装,接口压测使用两个方面来说明。

JMeter下载安装

下载

测试机:windows 64位系统

JMeter下载地址:Jmeter安装包下载链接

下载Jmeter包,在下载页面会有2种下载分类,一个是Binaries,一个是source,如下图:

一般开放原代码软件都会有两个版本发布: Source Distribution 和 Binary Distribution ,二者有啥区别?

Source 是源代码版,你需要自己编译成可执行软件。

Binaries是可执行版,直接下载解压就可以拿来用的,他已经给你编译好的版本。

》这里我们下载Binaries可执行版。

安装

解压我们下载好的安装包到指定目录,进入bin目录,点击jmeter,稍等几秒钟就可以启动,看到图形化界面:

JMeter使用:接口压测

接口准备:这边我的个人网站(http://www.relaxheart.cn)中有一个 "通过IP地址获取地理位置" 的API接口。

http://localhost:8087/rest/api/ip2Address/{ip}/

下面,我们以这个接口的性能压测为例来一块看下JMeter的使用。

创建一个测试计划

添加线程组

编辑 / 添加 / 线程(用户)/ 线程组

配置线程组

配置一个拥有10个线程的线程组,并让每个线程循环工作200次

分配采样器

在线程组下,需要给线程组分配相应的采样器,比如HTTP请求、FTP请求、数据库连接等。线程组会完成采样器的工作。下图中我们分配了一个HTTP的采样器。

右键线程组 / 添加 / 取样器 / HTTP请求

HTTP采样器参数设置

主要有一下几个参数:服务器ip、端口号、访问路径以及HTTP参数等。

添加聚合报告

除了线程组、采样器外,最后我们还需要一份测试报告。JMeter可以给出各种形式或侧重于各个方面的测试报告。在我们这个实验中,我需要一份聚合报告便于我直观的观察出压测结果。

编辑 / 添加 / 监听器 / 聚合报告

其中聚合报告含多项参数,包含平均响应时间(avg rt),错误数和吞吐量等。

开始测试

直接点击启动即可进行测试。

压测结果分析

总结

JMeter是一款优秀的开源软件,使用JMeter可以方便的对Web应用程序(主要指API接口)进行压力测试和性能测试。

在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1411955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

antdesignvue中使用VNode写法

1、使用场景 如图:消息提示框中,将数据中的数据单独一行显示 2、代码 let errorList res.result; //后端返回的数据例: ["1. 数据格式不正确","2. 数据已存在"]if(errorList&&errorList.length!0){this.$notif…

时限挑战 —— 深度解析Pytest插件 pytest-timeout!

在软件开发中,测试用例的执行时间通常是一个关键考虑因素。Pytest插件 pytest-timeout 提供了一个强大的插件,允许你设置测试用例的超时时间。本文将深入介绍 pytest-timeout 插件的基本用法和实际案例,助你精确掌控测试用例的执行时限。 什么…

备忘录模式-C#实现

该实例基于WPF实现,直接上代码,下面为三层架构的代码。 目录 一 Model 二 View 三 ViewModel 一 Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 设计模式练…

JVM篇----第八篇

系列文章目录 文章目录 系列文章目录前言一、标记清除算法( Mark-Sweep)二、复制算法(copying)三、标记整理算法(Mark-Compact)前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分…

Docker应用-自定义网络连接

Docker网络 文章目录 Docker网络网络的基础配置自定义网络网络连通 网络的基础配置 大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行互相配合。 目前Docker提供了映射容器端口到宿主机主机和容器互联机制来为容器提供网络服务&…

【MySQL】如何使用图形化界面DataGrip操作数据库

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-W5JDg0WA1tjEP66Y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

小白水平理解面试经典题目LeetCode 594 Longest Harmonious Subsequence(最大和谐字符串)

594 最大和谐字符串 这道题属于字符串类型题目,解决的办法还是有很多的,暴力算法,二分法,双指针等等。 题目描述 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。 现在,给你一个整数数组 nums …

java servlet 高校田径运动会管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 jsp高校田径运动会管理系统是一套完善的java web信息管理系统 采用mvc模式 servletdaobean 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myecl…

Redis 线程模型

更多内容,前往个人博客 一、概述 【1】Redis 是基于 Reactor 模式开发的网络事件处理器:这个处理器被称为文件事件处理器(file event handler),这个文件事件处理器是单线程的,所以 Redis 才叫做单线程的模型…

全志XR806芯片Wi-Fi测试:自定义发送802.11帧(Beacon篇)

XR806是一款使用ARMv8-M的Wi-Fi BLE Combo MCU。本文使用XR806开发板以及基于FreeRTOS的XR806 SDK实现了自定义发送802.11 Beacon帧,并进行了无线抓包分析以及扫描测试来验证帧的发送结果。 环境配置过程 环境搭建可以参考官方文档开发环境搭建。本测试中使用的开…

微信小程序登录获取手机号教程(超详细)

1. 背景介绍: 在我们开发微信小程序时,登录时,需要获取用户手机号作为唯一标识,下面我介绍一下获取手机号的教程。 本篇文章介绍后端获取方法: 前端工作 后端工作 前端 新建Page页面,在xxx.wxml中加入…

What is Rust? Why Rust?

why Rust? 目前,Rust 变得越来越流行。然而,仍然有很多人(和公司!)误解了 Rust 的主张价值是什么,甚至误解了它是什么。在本文中,我们将讨论 Rust 是什么以及为什么它是一种可以增强…

<网络安全>《2 国内主要企业网络安全公司概览(二)》

4 北京天融信科技有限公司(简称天融信) 信息内容LOGO成立日期创始于1995年总部北京市海淀区上地东路1号院3号楼北侧301室背景民营企业是否上市天融信[002212]A股市值99亿主要产品网络安全大数据云服务员工规模6000多人简介天融信科技集团(证券代码:0022…

A JSONArray text must start with at 1

A JSONArray text must start with at 1 [character 2 line 1] 起因:String数组转 JSON 后端调用出错 JSONUtil.toList(xx.getTags(), String.class) 数据库对象entity转包装类 方法 ,其中数据库字段tags是String类型,在包装类中想转换为 J…

【idea】idea中编译内存不足(java: java.lang.0ut0fMemoryError: Java heap space)的解决方法

问题 在编译一个较大的idea项目时候,有时候会显示内存不足,导致项目编译失败 原因 编译项目时实际也是启动了jvm进行的,所以需要分配对应的内存大小。 这个大小在idea中有一个默认的配置,大小是700M。 对于一个大型的项目这个大…

大数据Doris(五十九):SQL函数之字符串函数(三)

文章目录 SQL函数之字符串函数(三) 一、​​​​​​​NULL_OR_EMPTY (VARCHAR str)

Redis 高可用之集群

1、简介 在之前的文章里,通过主从复制和哨兵机制实现Redis 高可用架构,但是由于架构比较复杂,难以维护,引入集群架构模式,一个集群可以有多个 master ,一个master 可以有多个slave,集群支持故障…

Unity制作右键菜单(自适应分辨率)

一、需求 右键触发打开菜单,左键在内部可选择选项,左键单击菜单范围外关闭。难点在于屏幕坐标系,鼠标位置,UI位置之间的关系。 二、理论 前置知识: unity中,用RectTransform对象的position.x和position.y表…

nginx详细资料

nginx简介 1、nginx产生 Nginx同Apache一样都是Web服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier ) URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通一句,通过HTTP协议提供各种网络服务…

Vue自定义成功弹窗H5实现类似于小程序的效果

效果图: <div class="father"><div class="success-box" v-if="isSuccess"><img src="../../assets/insure/success-logo.png" alt=""><span>{{ successTitle }}</span></div> </d…