当前位置: 首页 > article >正文

【测试工具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实例


http://www.kler.cn/a/410422.html

相关文章:

  • vscode利用ofExtensions插件可以调试单进程Openfoam,但是不能调试mpi多进程案例
  • vue 预览pdf 【@sunsetglow/vue-pdf-viewer】开箱即用,无需开发
  • 函数类型注释和Union联合类型注释
  • 【R语言管理】Pycharm配置R语言及使用Anaconda管理R语言虚拟环境
  • ‌Kotlin中的?.和!!主要区别
  • Node.js的http模块:创建HTTP服务器、客户端示例
  • 2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略 完整参考论文(1)
  • [算法] 前缀函数与KMP算法
  • 数据集-目标检测系列- 荷花 莲花 检测数据集 lotus>> DataBall
  • LeetCode 0632.最小区间:优先队列
  • 成功案例 | Fortinet助力宾堡打造数字化安全“美味王国”
  • java TreeMap 详解
  • 【GAMES101笔记速查——Lecture 19 Cameras,Lenses and Light Fields】
  • C# .Net Core通过StreamLoad向Doris写入CSV数据
  • C# 创建快捷方式文件和硬链接文件
  • 大语言模型---通过数值梯度的方式计算损失值L对模型权重矩阵W的梯度;数值梯度的公式;数值梯度计算过程
  • macOS上进行Ant Design Pro实战教程(一)
  • 【51单片机】程序实验56.独立按键-矩阵按键
  • 【初阶数据与算法】线性表之顺序表的定义与实现
  • 跨平台开发_RTC程序设计:实时音视频权威指南 2
  • Web day02 Js Vue Ajax
  • Java的字符串操作(二)(代码示例)
  • spring的事务隔离?
  • IEC61850读服务器目录命令——GetServerDirectory介绍
  • Gitlab有趣而实用的功能
  • Ajax学习笔记,第一节:语法基础