联系我们
简单又实用的WordPress网站制作教学
当前位置:网站首页 > 程序开发学习 > 正文

性能测试工具 — JMeter

作者:小教学发布时间:2023-10-01分类:程序开发学习浏览:81


导读:一、JMeter准备工作1、JMeter介绍ApacheJMeter应用程序是开源软件,是一个100%纯Java应用程序。用于测试Web应用程序、API和其他网...

一、JMeter准备工作

1、JMeter介绍

Apache JMeter 应用程序是开源软件,是一个 100% 纯 Java 应用程序。用于测试Web应用程序、API和其他网络协议的性能。它具有以下特点:

1. 开源免费:JMeter是Apache软件基金会下的一个开源项目,它被称为Apache JMeter。

2. 基于Java开发:JMeter是基于Java开发的工具,因此在使用JMeter之前,需要确保已经安装了JDK 1.8或更高版本。

3. 跨平台:JMeter是一个跨平台的工具,可以在Windows和Linux等操作系统上运行。

4. 支持多种协议:JMeter支持测试多种网络协议,包括HTTP、HTTPS、FTP、SOAP、REST、JDBC等,使其适用于各种类型的应用程序和服务。

5. 插件生态系统:JMeter具有丰富的插件生态系统,可以根据需要安装和使用额外的监听器、采样器、断言和其他实用工具,扩展其功能和测试能力。

6. 分布式测试:JMeter支持分布式测试,可以将负载分散到多台机器上,以模拟更大规模的并发用户,提供更准确和可扩展的性能测试结果。

2、下载安装JMeter

下载地址:Apache JMeter - Download Apache JMeter

在下载JMeter文件时,"Binaries"和"Source"是两个不同的选项,它们之间有一些区别:

  1. Binaries(二进制文件):这是已经编译和构建好的JMeter可执行文件。如果你只是想使用JMeter进行性能测试,那么推荐下载二进制文件。
  2. Source(源代码):这是以Java编写的JMeter源代码文件。如果你要对JMeter进行二次开发,那么下载源代码是一个好的选择

Apache JMeter是一个开源的负载测试工具,您可以根据您的操作系统选择相应的文件:

  1. 如果您正在使用Windows操作系统,您可以下载并使用"apache-jmeter-5.6.2.zip"文件。
  2. 如果您正在使用类Unix或Linux操作系统,您可以下载并使用"apache-jmeter-5.6.2.tgz"文件。

由于我要在window系统使用jmeter,这里我下载的是"apache-jmeter-5.6.2.tgz"文件:apache-jmeter-5.6.2.zip

3、JMeter运行模式

JMeter提供两种运行模式:GUI模式和CLI模式。

  • GUI模式(图形用户界面模式)是JMeter的默认模式。在GUI模式下,您可以使用JMeter的图形界面创建、配置和运行性能测试计划。通过可视化的界面,您可以添加测试元素、设置参数、运行测试并查看实时结果。这种模式适合于交互式地创建和编辑测试计划,以及进行实时监控和分析测试结果。
  • CLI模式(命令行界面模式)是在命令行下运行JMeter的模式。通过CLI模式,您可以使用命令行选项来配置和运行JMeter,而无需使用图形界面。CLI模式适合于在服务器环境下运行测试,或者用于自动化测试脚本。您可以使用命令行选项来指定测试计划文件、结果输出文件、线程数等参数,以及设置其他运行选项。

4、GUI模式启动JMeter

要启动 jmeter需要先部署jdk环境,详见:JDK和JRE的区别和环境变量配置

之后按照以下步骤进行操作:

  1. 对 "apache-jmeter-5.6.2.zip" 压缩文件进行解压缩。
  2. 进入解压缩后的 bin目录。
  3. 执行命令"jmeter.bat"来启动 JMeter。

也可以直接执行bin目录下的ApacheJMeter.jar文件来启动jmeter。

5、JMeter中文汉法

启动jmeter很容易发现显示的是英文环境,也可以通过设置来显示为中文。

方法1:Options --> Choose Language --> Chinese

注意:这种方法设置的只能在当前界面生效,下次启动jmeter仍是默认为英文。

方法2:\apache-jmeter-5.4.1\bin\ 目录下修改 jmeter.properties文件,设置默认语言为language=zh_CN

再次启动jmeter发现显示的是中文了。

二、测试计划元素组件

JMeter测试计划通常包含以下几个主要的元素组件:

  • 线程组(Thread Group):线程组定义了测试中要模拟的用户数量、循环次数和启动延迟等参数。它是测试计划中最基本的元素,其他组件都是在线程组的上下文中执行。
  • 取样器(Sampler):取样器用于发送请求并模拟用户与被测试应用程序之间的交互。它可以发送不同类型的请求,如HTTP请求、FTP请求、数据库请求等。
  • 逻辑控制器(Logic Controller):逻辑控制器用于定义测试脚本的逻辑流程和执行顺序。
  • 配置元件(Config Element):配置元件用于设置请求的参数或处理测试环境的特定设置。例如,HTTP Cookie管理器用于处理HTTP请求中的Cookie,HTTP Header管理器用于设置HTTP请求的头信息。
  • 监听器(Listener):监听器用于收集和显示测试结果。它可以以不同的形式展示结果,如表格、图表、树形结构等。
  • 定时器(Timer):定时器用于模拟用户之间的间隔时间。可以设置固定延迟、随机延迟或根据特定算法生成延迟时间。
  • 前置处理器(Pre-Processor):前置处理器在每个取样器之前执行,可以对请求进行修改或设置一些前置条件。
  • 后置处理器(Post-Processor):后置处理器在每个取样器之后执行,用于处理服务器的响应结果。可以提取关键信息、对响应进行断言或转换等操作。
  • 断言(Assertion):断言用于验证服务器响应是否符合预期。可以检查响应的内容、响应时间、响应代码等。

这些元素组件可以根据测试需求进行组合和配置,以构建完整的JMeter测试计划。

选中测试计划或者线程组,鼠标右键查看可以添加的组件信息。

1、线程组(Thread Group)

线程组(Thread Group)是任何测试计划的起点。所有控制器和采样器必须位于线程组下。其他元素(例如监听器)可以直接放置在测试计划下,在这种情况下,它们将应用于所有线程组。顾名思义,线程组元素控制 JMeter 将用于执行测试的线程数。每个线程将完整地执行测试计划,并且完全独立于其他测试线程。多个线程用于模拟与服务器应用程序的并发连接。

线程组配置页面如下:

JMeter线程组有以下三个属性: 

  • Number of Threads (users):表示并发用户数,即同时模拟的用户数量。可以设置为固定值或根据测试需求进行动态调整。
  • Ramp-Up Period:表示启动所有线程所需的时间。它指定了线程组中的线程逐渐启动的时间间隔。例如,如果设置为5秒,并发用户数为10,那么每秒将启动2个线程,直到达到总共的10个线程。
  • Loop Count:表示线程组要执行的循环次数。可以设置为固定次数或选择"Forever"表示无限循环。

这些属性可以根据测试需求进行配置,以模拟不同的并发用户行为和负载情况。

需要特别注意的是:

Ramp-Up时间要根据测试需求和目标来进行选择。可以从 Ramp-up = 线程数开始,然后根据需要向上或向下调整。如果你有大量的并发用户,可以选择较短的 Ramp-Up 时间,例如线程数的一半或四分之一,以快速达到高峰负载。如果你希望逐渐增加用户并观察系统在不同负载下的性能表现,可以选择较长的 Ramp-Up 时间,例如线程数的两倍或更多。

2、取样器(Sampler)

取样器(Sampler)是JMeter中用于发送请求并模拟用户操作的测试元素。它用于模拟不同类型的用户请求,例如发送HTTP请求、FTP请求、JDBC请求等,以便测试目标系统的性能和功能。

JMeter提供了多种取样器,常见的几种类型包括:

1. HTTP请求(HTTP Request):用于发送HTTP请求到目标服务器,可以设置请求方法(GET、POST等)、URL、请求头、请求参数等。

2. FTP请求(FTP Request):用于执行FTP相关操作,如上传文件、下载文件、删除文件等。

3. JDBC请求(JDBC Request):用于执行JDBC数据库操作,如执行SQL查询、插入、更新等。

4. TCP请求(TCP Sampler):用于发送TCP请求,可以自定义请求内容和目标服务器地址。

5. SMTP请求(SMTP Sampler):用于发送电子邮件,可以设置邮件主题、收件人、发件人等。

取样器通常与线程组结合使用,在每个并发用户线程中执行具体的请求操作。通过合理配置取样器,你可以模拟出不同类型的用户请求,测试目标系统在不同负载和压力下的性能和可靠性。

取样器配置页面如下:

3、逻辑控制器(Logic Controller)

4、配置元件(Config Element)

5、监听器(Listener)

6、定时器(Timer)

7、前置处理器(Pre-Processor)

8、后置处理器(Post-Processor)

9、断言(Assertion)

三、制定测试计划

添加元素组件
    配置元素组件
    保存测试计划
    运行测试计划
    终止测试计划Stop 、Shutdown 


reference:

Apache JMeter - User's Manual





程序开发学习排行
最近发表
网站分类
标签列表