【测试工具JMeter篇】JMeter性能测试入门级教程(一)出炉,测试君请各位收藏了!!!

一、前言

Apache JMeter是纯Java的开源软件,最初由Apache软件基金会的Stefano Mazzocchi开发,旨在加载测试功能行为和测量性能。可以使用JMeter进行性能测试,即针对重负载、多用户和并发流量测试Web应用程序。

Introduction to JMeter

我们选择JMeter原因

Introduction to JMeter

是否测试过Web服务器以了解其工作效率?一台Web服务器可以处理多少并发用户?

假设有一天,老板要求为100个用户做www.baidu.com的性能测试。怎么做?

Introduction to JMeter

安排100个人同时使用PC和互联网访问baidu.com是不可行的,当测试10000个用户时,想想基础设施需求(对于百度这样的网站来说,这是一个很小的数字)。因此,需要一个像JMeter这样的软件工具来模拟真实的用户行为,并对站点进行性能/负载测试。

JMeter与生俱来的优势

Introduction to JMeter

  • 开源许可(Open source license): JMeter是完全免费的,允许开发者使用源代码进行开发
  • 友好的GUI(Friendly GUI): JMeter非常容易使用,并且不需要花费时间来熟悉它
  • 平台无关性(Platform independent): JMeter是100%纯Java桌面应用程序。因此它可以在多个平台上运行
  • 完整的多线程框架(Full multi-threading frmework): JMeter允许通过单独的线程组对不同函数进行并发和同时采样
  • 测试结果可视化(): 测试结果可以以图表、表格、树、日志文件等不同格式显示
  • 易于安装: 只需复制并运行*.bat文件即可运行JMeter。无需安装。
  • 高度可扩展: 可以编写自己的测试。JMeter还支持可视化插件,允许扩展测试
  • 多种测试策略: JMeter支持负载测试、分布式测试、功能测试等多种测试策略。
  • 模拟: JMeter可以模拟具有并发线程的多个用户,对测试中的Web应用程序造成较重的负载
  • 支持多协议: JMeter不仅支持web应用测试,还支持数据库服务器性能评估。JMeter支持所有基本协议,如HTTP、JDBC、LDAP、SOAP、JMS和FTP
  • 记录和回放 -记录浏览器上的用户活动,并使用JMeter在Web应用程序中模拟它们
  • 脚本测试: Jeter可以与Bean Shell&Selenium集成,实现自动化测试。

JMeter工作原理介绍

JMeter的基本工作流程如下图所示:也就是JMeter模拟一组用户向目标服务器发送求,并通过图形化图表返回目标服务器的统计信息

Introduction to JMeter

JMeter已完成的工作流,如下图所示

Introduction to JMeter

JMeter版本与Java版本适配

版本描述
1首次正式发布
2.13Java 6+
3Java 7+
3.1Java 7+
3.2Java 8+
3.3Java 8
4Java 8/9

注:现在JMeter最新版本我们还是推荐大家适配Java8,不要问什么原因,稳定好用就行了!切记不要去乱适配其他版本,防止出现不可预测问题影响项目进度或者项目实践。

二、JMeter安装与配置

JMeter的胸襟:

以下是与JMeter兼容的操作系统列表

  • Linux操作系统
  • Windows
  • Mac OS
  • Ubuntu

本文将在下面会给大家介绍:

  • 安装JMeter的步骤
  • 在GUI模式下启动JMeter
  • 如何在非GUI模式下运行JMeter
    • 在服务器模式下启动JMeter
    • 在命令行模式下启动JMeter
  • 在Linux中使用JMeter

安装JMeter的步骤

Step1 安装Java

因为JMeter是纯Java桌面应用程序,所以它需要完全兼容的JVM6或更高版本【本文推荐大家使用java8版本】。可以下载并安装最新版本的Java SE开发工具包。下载Java平台(JDK)

How to install Jmeter in easy steps

安装完成后,可以使用以下过程检查系统中是否成功安装了Java JDK

  • 在Windows/Linux中,转到终端
  • 输入命令java-version

如果Java运行时环境安装成功,将看到如下图所示的输出

如果没有显示任何内容,重新安装Java SE运行时环境

Step2 下载JMeter

当前,JMeter的最新版本是Apache JMeter 5.6.3。可以从这里下载:Apache JMeter - Download Apache JMeter

选择要下载的二进制文件(zip或tgz),如下图所示

步骤3) 安装

JMeter的安装非常简单。只需将zip/tgz文件解压缩成简单的解压缩文件,就ok了!

解压缩完成后,安装目录结构应如下图所示:(这里的Project是我自己新建的项目文件夹,大家不需要关注)

下面描述的是JMeter目录及其重要性JMeter目录包含许多文件和目录

  • /bin:包含用于启动JMeter的JMeter脚本文件
  • /docs:JMeter文档文件
  • /Extras:与Ant相关的额外文件
  • /lib/:包含JMeter所需的Java库
  • /lib/ext:包含JMeter和协议的核心JAR文件
  • /lib/junit:用于JMeter的Junit库
  • /printable_docs:

步骤4) 启动JMeter

可以在3种模式下启动JMeter

  • GUI模式
  • 服务器模式
  • 命令行模式

在GUI模式下启动JMeter

如果使用的是Windows,只需运行/bin/jmeter.bat文件即可在GUI模式下启动JMeter,启动后GUI界面如下图所示:

如何在非GUI模式下运行JMeter

在服务器模式下启动JMeter

分布式测试采用服务器模式。此测试以客户端-服务器模型的方式工作。在此模型中,JMeter在客户端计算机上运行,JMeter在GUI模式下运行。

要启动服务器模式,运行BAT文件jmeter-server.bat,如下图所示

在命令行模式下启动JMeter

GUI模式下的JMeter会消耗大量计算机内存。要保存要执行此操作的资源,使用以下命令选项

How to install Jmeter in easy steps

这是一个命令行示例

1

$jmeter -n -t testPlan.jmx - l log.jtl -H 127.0.0.1 -P 8000

在Linux中使用JMeter

  • 在Linux中使用JMeter与在Windows中使用JMeter相同;只需运行以下shell脚本即可。
  • 运行脚本文件jmeter(此文件没有扩展名)-运行JMeter(默认情况下为GUI模式)。
  • 在服务器模式下运行脚本文件jeter-server-start JMeter(使用适当的参数调用JMeter脚本) jmeter.sh -非常基本的JMeter脚本,没有指定JVM选项。 Mirror-server.sh -在非GUI模式下运行JMeter镜像服务器 shutdown.sh -运行关闭的客户端以正常停止非GUI实例 stoptest.sh -运行关闭的客户端以突然停止非GUI实例

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能(AI)与机器学习(ML)基础知识

目录 1. 人工智能与机器学习的核心概念 什么是人工智能(AI)? 什么是机器学习(ML)? 什么是深度学习(DL)? 2. 机器学习的三大类型 (1)监督式学…

STM32WB55RG开发(5)----监测STM32WB连接状态

STM32WB55RG开发----5.生成 BLE 程序连接手机APP 概述硬件准备视频教学样品申请源码下载参考程序选择芯片型号配置时钟源配置时钟树RTC时钟配置RF wakeup时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙LED配置设置工程信息工程文件设置参考文档SVCCTL_A…

虚拟机CentOS系统通过Docker部署RSSHub并映射到主机

公告 📌更新公告 20241124-该文章已同步更新到作者的个人博客(链接:虚拟机CentOS系统通过Docker部署RSSHub并映射到主机) 一、编辑 YUM 配置文件 1、打开 CentOS 系统中的 YUM 软件仓库配置文件 vim /etc/yum.repos.d/CentOS-Ba…

React(五)——useContecxt/Reducer/useCallback/useRef/React.memo/useMemo

文章目录 项目地址十六、useContecxt十七、useReducer十八、React.memo以及产生的问题18.1组件嵌套的渲染规律18.2 React.memo18.3 引出问题 十九、useCallback和useMemo19.1 useCallback对函数进行缓存19.2 useMemo19.2.1 基本的使用19.2.2 缓存属性数据 19.2.3 对于更新的理解…

【漏洞复现】|百易云资产管理运营系统/mobilefront/c/2.php前台文件上传

漏洞描述 湖南众合百易信息技术有限公司(简称:百易云)成立于2017年是一家专注于不动产领域数字化研发及服务的国家高新技术企业,公司拥有不动产领域的数字化全面解决方案、覆盖住宅、写字楼、商业中心、专业市场、产业园区、公建、…

远程控制软件:探究云计算和人工智能的融合

在数字化时代,远程控制工具已成为我们工作与生活的重要部分。用户能够通过网络远程操作和管理另一台计算机,极大地提升了工作效率和便捷性。随着人工智能(AI)和云计算技术的飞速发展,远程控制工具也迎来了新的发展机遇…

漫谈 module caching——PyCharm jupyter notebook 在导入模块被更新后无法及时同步问题

目录 引子:问题的发现何为 module caching见微知著:Python 中的缓存机制参考链接 引子:问题的发现 近日笔者用 PyCharm 创建了一个项目时不经意间发现了这个问题:事情发生在调试 Jupyter Notebook 的过程中。当笔者修改了自己编写…

企业数字化转型现状

国家数字经济战略背景 2018年以来,国家政府不断出台政策规范我国企业数字化治理市场。2018年9月颁布《关于发展数字经济稳定并扩大就业的指导意见》,支持建设一批数字经济创新创业孵化机构。积极推进供应链创新与应用,支持构建以企业为主导。…

《Python基础》之算数、比较、赋值、逻辑、位运算符

目录 简介 Python中常见的运算符 1、算数运算符 2、比较运算符 3、赋值运算符 4、逻辑运算符 5、位运算符 总结 简介 Python 提供了多种运算符,用于执行各种操作,包括算术运算、比较运算、逻辑运算、位运算、赋值运算等。以下是 Python 中常用的…

学习threejs,使用设置bumpMap凹凸贴图创建褶皱,实现贴图厚度效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshPhongMaterial高…

【CSP CCF记录】201809-2第14次认证 买菜

题目 样例输入 4 1 3 5 6 9 13 14 15 2 4 5 7 10 11 13 14 样例输出 3 思路 易错点:仅考虑所给样例,会误以为H和W两人的装车时间是一一对应的,那么提交结果的运行错误就会让你瞬间清醒。 本题关键是认识到H和W的装车时间不一定一一对应&…

道品智能科技移动式水肥一体机:农业灌溉施肥的革新之选

在现代农业的发展进程中,科技的力量正日益凸显。其中,移动式水肥一体机以其独特的可移动性、智能化以及实现水肥一体化的卓越性能,成为了农业领域的一颗璀璨新星。它不仅改变了传统的农业灌溉施肥方式,更为农业生产带来了高效、精…

【PCB设计】AD16教程:分配位号

1、前提条件 确保已经基本画完原理图 2、点击【Tools-Annotate Schematics】 3、依次点击【Reset All】、【Update Changes Lise】、【Close】 最后位号就被自动分配好了

20241125编译友善之臂的NanoPi R3S开发板【RK3566】STEP-BY-STEP版本

20241125编译友善之臂的NanoPi R3S开发板【RK3566】STEP-BY-STEP版本 2024/11/25 15:59 20241125编译友善之臂的NanoPi R3S开发板【RK3566】精简步骤 2024/11/25 19:37 viewproviewpro-ThinkBook-16-G5-IRH:~$ viewproviewpro-ThinkBook-16-G5-IRH:~$ df -h viewproviewpro-T…

uniapp实际开发遇到过的问题(持续更新中....)

1. 在ios模拟器上会出现底部留白的情况 解决方案: 在manifest.json文件,找到开源码视图配置,添加如下: "app-plus" : {"safearea":{"bottom":{"offset" : "none" // 底部安…

计算机网络:应用层知识点概述及习题

网课资源: 湖科大教书匠 1、概述 习题1 1 在计算机网络体系结构中,应用层的主要功能是 A. 实现进程之间基于网络的通信 B. 通过进程之间的交互来实现特定网络应用 C. 实现分组在多个网络上传输 D. 透明传输比特流 2 以下不属于TCP/IP体系结构应用层范畴…

数据治理:在企业数据管理中的关键角色与实现路径——《DAMA 数据管理知识体系指南》读书笔记- 第 3 章

文章目录 1. 数据治理的核心内涵与战略价值2. 数据治理的驱动因素:不仅仅是合规3. 数据治理的组织模型:选择适合企业结构的运营模式4. 实施数据治理的关键步骤:战略、制度和文化5. 数据治理工具的选择:支持业务与流程的高效管理6.…

递推概念和例题

一、什么是递推 递推算法以初始值为基础,用相同的运算规律,逐次重复运算,直至求出问题的解,它的本质是按照固定的规律逐步推出(计算出)下一步的结果 这种从“起点”重复相同的的方法直至到达问题的解&…

【Android】RecyclerView回收复用机制

概述 RecyclerView 是 Android 中用于高效显示大量数据的视图组件&#xff0c;它是 ListView 的升级版本&#xff0c;支持更灵活的布局和功能。 我们创建一个RecyclerView的Adapter&#xff1a; public class MyRecyclerView extends RecyclerView.Adapter<MyRecyclerVie…

websocket是什么?

一、定义 Websocket是一种在单个TCP连接上进行全双工通信的协议&#xff0c;它允许服务器主动向客户端推送数据&#xff0c;而不需要客户端不断的轮询服务器来获取数据 与http协议不同&#xff0c;http是一种无状态的&#xff0c;请求&#xff0c;响应模式的协议(单向通信)&a…