Jmeter的安装与快速使用(做并发测试)

1、了解

JMeter是一款开源的性能测试工具,它主要用于模拟多种负载条件下的应用程序或服务器的性能和功能。JMeter可以发送不同类型的请求,如HTTP、HTTPS、FTP、SOAP、REST等,并且可以模拟多种负载类型,例如并发用户、线程组、定时器等。

JMeter具有以下主要特点:

  • 可以对各种应用程序和协议进行测试,包括Web应用程序、数据库、文件服务器等。
  • 支持分布式测试,可以在多台机器上同时执行测试以模拟高负载条件。
  • 提供丰富的图形化界面,方便用户创建和编辑测试计划。
  • 可以生成测试报告和图形化图表,以便分析和评估应用程序的性能。

使用JMeter,你可以进行性能测试、负载测试、压力测试和功能测试,以确保你的应用程序或服务器能够在各种条件下正常工作并具有良好的性能。

除了基本的测试操作之外,JMeter还提供了许多高级功能和扩展,以满足更复杂的测试需求。以下是一些JMeter的高级功能和扩展:

  1. 分布式测试:JMeter支持将负载测试分布在多台计算机上,以模拟高负载情况。您可以使用JMeter Server和JMeter Client来配置和运行分布式测试。

  2. 集成CI / CD流程:JMeter可以与Jenkins等CI / CD工具集成,以自动化负载测试和性能监测,以确保应用程序在不同环境和平台上的稳定性和可扩展性。

  3. 数据库测试:JMeter提供了丰富的数据库测试功能,您可以轻松地模拟并测试数据库连接、查询、更新、事务等。

  4. 安全测试:JMeter支持测试Web应用程序和Web服务的安全性能。它可以发送不同类型的攻击,例如SQL注入、跨站点脚本(XSS)等。

  5. 脚本自动生成:JMeter提供了多种脚本自动生成插件,例如JMeter Recorder和Badboy,可以根据用户实际操作自动生成测试脚本。

  6. 自定义插件:JMeter提供了丰富的可扩展性,您可以使用Java编写自定义插件,例如自定义断言器、 JMX监视器等。

  7. JMeter插件:JMeter插件是针对JMeter的开源扩展,提供了丰富的功能和图形化界面,例如动态负载测试、图表和报告增强、高级调试等。

请注意,这些功能和扩展不是JMeter的全部功能,而是一些可用的选项。使用JMeter需要根据项目需求选择适当的功能和插件。同时,需要注意负载测试可能对目标应用程序或服务器造成较大压力,因此需要谨慎管理和执行测试。

2、下载

下载网址:https://jmeter.apache.org/download_jmeter.cgi

3、安装

3.1、默认你已经安装了JDK环境

3.2、配置系统环境

3.2.1、此电脑右击然后点击属性

3.2.2 点击高级系统设置

3.2.3、点击环境变量

3.2.4、添加系统变量

3.2.5、添加path变量

4、使用

当使用JMeter进行性能测试时,您可以按照以下步骤进行操作:

打开Jmeter:

创建测试计划:打开JMeter并创建一个新的测试计划。测试计划是测试的顶层容器,你可以在其中添加线程组、请求和其他组件。(可以不用创建打开就是一个Test Plan)

添加线程组:线程组定义了测试中的用户行为和负载条件。您可以设置并发用户数、循环次数、Ramp-Up时间等。

添加完线程后就编辑线程组参数

添加请求:JMeter支持多种类型的请求,如HTTP、FTP、SOAP、REST等。根据您的测试需求,选择合适的请求类型,并配置请求参数。

配置请求参数:根据请求类型,您可能需要提供请求的URL、请求方法、请求头、请求体等相关参数。确保正确配置请求参数以模拟真实的用户行为。

添加断言:断言用于验证请求的响应是否符合预期。您可以添加断言来检查响应代码、响应时间、响应内容等。

添加结构数与综合图方便查看结果

注意:综合报告的参数意思:

Label----每个请求的名称,比如HTTP请求等

#Samples----发给服务器的请求数量

Average----单个请求的平均响应时间
Median----50%请求的响应时间

90%Line----90%请求响应时间

95%Line----95%请求响应时间

99%Line----99%请求的响应时间

Min----最小的响应时间

Max----最大的响应时间

Error%----错误率=错误的请求的数量/请求的总数

Throughput----吞吐量即表示每秒完成的请求数

Received KB/sec----每秒从服务器端接收到的数据量

Sent KB/sec----每秒从客户端发送的请求的数量

运行测试:保存测试计划并点击运行按钮,JMeter将开始模拟用户行为并发送请求。您可以监视运行时的结果和性能指标。

先酱紫有时间写

分析测试结果:当测试完成后,您可以查看并分析测试结果报告。JMeter提供了丰富的图表和数据表格,用于评估应用程序的性能和稳定性。

先酱紫有时间写

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

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

相关文章

正则表达式 详解,10分钟学会

大家好,欢迎来到停止重构的频道。 本期我们讨论正则表达式。 正则表达式是一种用于匹配和操作文本的工具,常用于文本查找、文本替换、校验文本格式等场景。 正则表达式不仅是写代码时才会使用,在平常使用的很多文本编辑软件,都…

关于Python里xlwings库对Excel表格的操作(二十五)

这篇小笔记主要记录如何【如何使用xlwings库的“Chart”类创建一个新图表】。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; (2…

案例分享:Qt多国语言输入法软键盘

若该文为原创文章,转载请注明出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135346374 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

aspose通过开始和结束位置关键词截取word另存为新文件

关键词匹配实体类: Data EqualsAndHashCode(callSuper false) public class TextConfig implements Serializable {private static final long serialVersionUID 1L;/*** 开始关键词,多个逗号分隔*/private String textStart ;/*** 结束关键词&#x…

【操作系统xv6】学习记录4 -CPU上下文:进程上下文、线程上下文、中断上下文

什么是cpu上下文 CPU 寄存器和程序计数器就是 CPU 上下文,因为它们都是 CPU 在运行任何任务前,必须的依赖环境。 什么是 CPU 上下文切换 先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后…

Flutter+Go_Router+Fluent_Ui仿阿里网盘桌面软件开发跨平台实战-买就送仿小米app开发

Flutter是谷歌公司开发的一款开源、免费的UI框架,可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能。 目前 Flutter 已经支持 iOS、Android、Web、Windows、macOS、Linux 的跨平台开发。 Flutter官方介绍,目前Flutte…

ubuntu系统没有网络图标的解决办法

参考文章:https://blog.csdn.net/qq_56922632/article/details/132309643 1. 执行关闭网络服务的命令,关闭网络服务sudo service NetworkManager stop2. 删除网络的状态文件sudo rm /var/lib/NetworkManager/NetworkManager.state3. 修改网络的配置文件sudo vi /etc…

冒泡排序-排序算法

前言 如果有6个人站成一排,要将他们按从矮到高的顺序排列。你可能有多种方式来完成。但是如果其中有一个人特别高,比他身边的人高,在队伍中特别明显,你可以轻易看出那个最高的需要和身边的人交换位置,这是冒泡排序的核…

二叉树的前序遍历 、二叉树的最大深度、平衡二叉树、二叉树遍历【LeetCode刷题日志】

目录 一、二叉树的前序遍历 方法一:全局变量记录节点个数 方法二:传址调用记录节点个数 二、二叉树的最大深度 三、平衡二叉树 四、二叉树遍历 一、二叉树的前序遍历 方法一:全局变量记录节点个数 计算树的节点数: 函数TreeSize用于…

案例086:基于微信小程序的影院选座系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

履机乘变,轻舟便楫:源启分布式PaaS深度赋能企业级技术平台建设

导语 源启分布式PaaS平台围绕应用视角为用户提供应用运行的全生命周期管控能力,提供注册中心、服务路由、网关、服务治理等中间件技术支持,实现应用之间的联通,解决客户多厂商产品不兼容、产品组合不可选择、孤岛效应等问题,满足…

ros2 基础学习12 分布式通信

智能机器人的功能繁多,全都放在一个计算机里,经常会遇到计算能力不够、处理出现卡顿等情况,如果可以将这些任务拆解,分配到多个计算机中运行岂不是可以减轻压力? 这就是分布式系统,可以实现多计算平台上的任…

android开发百度地图api实现定位图标随手机方向转动

该功能的实现依赖于手机中的传感器元件如陀螺仪、加速度计等,具体开发详见android的官方开发文档: 传感器概览 | Android 开发者 | Android Developershttps://developer.android.com/guide/topics/sensors/sensors_overview?hlzh-cn要自定义一个传…

Hive学习(13)lag和lead函数取偏移量

hive里面lag函数 在数据处理和分析中,窗口函数是一种重要的技术,用于在数据集中执行聚合和分析操作。Hive作为一种大数据处理框架,也提供了窗口函数的支持。在Hive中,Lag函数是一种常用的窗口函数,可以用于计算前一行…

《动手学深度学习》学习笔记 第6章 卷积神经网络

本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知道,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-9PID控制器

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-9PID控制器) P —— Proportional I —— Integral D —— Derivative 当前误差/过去误差/误差的变化趋势 K p ⋅ e K_{\mathrm{p}}\cdot e Kp​⋅e:比…

golang并发编程-channel

在golang 并发编程里,经常会听到一句话:不要通过共享内存进行通信,通过通信来共享内存。下面我们会介绍下channel, 通过源码的方式去了解channel是怎么工作的。 基本结构 流程图 代码解读 type hchan struct {qcount uint // …

Qt(三):udp组播的发送与接收

1. 创建UDP套接字 使用QUdpSocket类创建一个UDP套接字。 udpSendnew QUdpSocket(this);udpRecenew QUdpSocket(this); 2. 绑定套接字 绑定套接字到一个本地地址和端口。可以使用bind()函数来完成。 如果要在组播中发送数据,可以将套接字绑定到一个通配符地址&#…

uniapp中uview组件丰富的Code 验证码输入框的使用方法

目录 基本使用 #自定义提示语 #保持倒计时 API #Props #Methods #Event 基本使用 通过ref获取组件对象,再执行后面的操作,见下方示例。 通过seconds设置需要倒计的秒数(默认60)通过ref调用组件内部的start方法,开始倒计时通过监听cha…

智慧旅游手机APP开发解决方案

我国的旅游市场已经逐渐地走向饱和,想要发展,就必须要寻求新的发展模式。本项目就是抓住贵州的交通飞速发展的契机,以高速为主线,高速周边的景点、酒店为依托,高速维修为辅线,借助今天得到广泛应用的智能移…