基于jmeter完成压测
前言
JMeter
是一款非常常用的开源性能测试工具,尤其适用于压测各种网络服务。本文将详细介绍如何在 Windows 10
环境下完成 JMeter
的安装及基础使用。
# 1. 安装 JMeter
# 1.1 下载 JMeter
首先,前往 Apache JMeter 官方下载页面 (opens new window) 下载适合的二进制安装包。请注意,这里一定要选择 Binaries 类型的安装包,而不是源码包,避免启动时出现不必要的错误。建议使用稳定版本,比如 5.1 版。
下载页面展示如下(以 JMeter 5.1 版本为例):
# 1.2 配置环境变量
下载完成后,将压缩包解压到一个你容易找到的目录中。例如,解压后的目录路径为:C:\JMeter\apache-jmeter-5.1
。接下来,需要配置系统的环境变量,以便通过命令行直接运行 JMeter。
具体操作步骤如下:
添加
JMETER_HOME
环境变量:- 在 Windows 10 系统中,右键点击“此电脑”,选择“属性”。
- 进入“高级系统设置”,然后点击“环境变量”。
- 在“系统变量”区域,点击“新建”,在弹出的对话框中,输入:
- 变量名:
JMETER_HOME
- 变量值:JMeter 的安装路径,例如
C:\JMeter\apache-jmeter-5.1
- 变量名:
图示如下:
更新
Path
环境变量:- 在系统变量中,找到
Path
,点击“编辑”按钮。 - 点击“新建”,在新建一行中输入
%JMETER_HOME%\bin
,这将使你能够在命令行中直接运行 JMeter。
- 在系统变量中,找到
验证安装是否成功:
- 打开“命令提示符”(可以按
Win + R
,输入cmd
并回车),在命令行中输入jmeter
,然后按下回车键。 - 如果安装正确,JMeter 会启动,并在命令行窗口中显示以下信息:
C:\Users\shark-Gao>jmeter ================================================================================ Don't use GUI mode for load testing !, only for Test creation and Test debugging. For load testing, use CLI Mode (was NON GUI): jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] & increase Java Heap to meet your test requirements: Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file Check : https://jmeter.apache.org/usermanual/best-practices.html ================================================================================
1
2
3
4
5
6
7
8
9- 打开“命令提示符”(可以按
# 1.3 设置 JMeter 为中文界面
如果你希望 JMeter 界面以中文显示,可以通过修改配置文件来实现:
进入 JMeter 安装目录下的
bin
文件夹,找到并打开jmeter.properties
文件。使用文本编辑器(如记事本)打开
jmeter.properties
,搜索language
这一字段,将它的值改为zh_CN
,这代表中文(中国)。修改后保存文件。下次启动 JMeter 时,界面将会切换为中文。界面如下:
# 2. 使用 JMeter 进行压测
一旦 JMeter 安装并配置完毕,你就可以开始创建和执行负载测试。下面将逐步介绍如何在 JMeter 中创建线程组、发起 HTTP 请求并生成测试报告。
# 2.1 创建线程组
在 JMeter 中,一个“线程组”用来模拟多用户访问,并定义模拟用户的行为。每次创建测试计划时,都需要先创建线程组。
启动 JMeter 后,你会看到一个默认的“测试计划”。
右键点击“测试计划”,依次选择 添加 -> 线程(用户) -> 线程组。
创建线程组后,你可以修改它的参数,例如:
- 线程数:表示要模拟多少个并发用户。例如,设为 10 即代表模拟 10 个并发用户同时发起请求。
- Ramp-Up 时间:定义多长时间内启动所有线程。例如,如果设为 20 秒,并有 10 个线程,则每 2 秒启动一个用户。
- 循环次数:定义每个线程要重复执行的次数。如果设为永远循环,则测试会持续不断运行,直到手动停止。
线程组参数设置界面如下:
# 2.2 创建压测请求
在设置好线程组后,接下来需要定义具体的压测操作,比如发起一个 HTTP 请求。每个线程(模拟用户)都会执行这些请求。
右键点击刚刚创建的“线程组”,选择 添加 -> 取样器(Sampler) -> HTTP 请求。
在 HTTP 请求的设置界面中,你需要填写目标服务器的详细信息:
- 协议:选择
HTTP
或HTTPS
,取决于目标服务器支持的协议类型。 - 服务器名称或 IP:填写要压测的目标服务器的域名或 IP 地址。例如
www.example.com
或192.168.0.1
。 - 端口号:填写目标服务器的端口号,通常是
80
(HTTP)或443
(HTTPS)。 - 路径:填写请求的具体路径。如果你要压测的是网站首页,通常是
/
,如果是其他页面,路径可以是/example-page
。
请求配置界面如下:
- 协议:选择
# 2.3 添加结果树和聚合报告
为了能查看压测的结果和性能指标,需要添加“监听器”。监听器负责收集并显示请求的结果和统计数据。
右键点击 HTTP 请求,选择 添加 -> 监听器,接着选择 察看结果树 和 聚合报告。这两个监听器分别用来查看每个请求的详细响应和生成测试报告的统计数据。
# 2.4 启动压测
现在,所有配置都已完成。你可以点击工具栏上的绿色启动按钮来开始测试:
查看请求的结果:测试开始后,点击“察看结果树”可以查看每个请求的详细响应数据。这包括请求是否成功、返回的响应数据以及时间等详细信息。
查看性能测试报告:点击“聚合报告”可以生成详细的性能测试报告。这些报告会显示每个请求的平均响应时间、吞吐量、成功率等关键指标。
# 3. 基于 JMeter 测试 POST 请求
在实际应用中,POST 请求通常用于提交数据,比如登录、注册等操作。JMeter 也可以方便地进行 POST 请求的压测,以下是配置步骤:
# 3.1 配置 HTTP 请求
首先,新建一个 HTTP 请求,并将请求方法设置为 POST
。同时,填写服务器的相关信息,包括服务器名称、端口号、路径等。
# 3.2 配置 HTTP 信息头管理器
由于 POST 请求通常需要发送请求体(如 JSON 格式的参数),因此我们需要为请求添加正确的请求头,告知服务器发送的内容类型。
- 在 HTTP
请求上右键,选择 添加 -> 配置元件 -> HTTP 信息头管理器。
在信息头管理器中,添加一个新的键值对:
- Key:
Content-Type
- Value:
application/json;charset=UTF-8
这样,服务器就知道我们发送的数据是以 JSON 格式编码的了。
- Key:
至此,POST 请求的配置已完成。你可以通过相同的方法启动测试,并查看结果。
希望通过本文的介绍,你现在已经掌握了如何在 Windows 10 上安装和配置 JMeter,并能够进行基本的 HTTP 压测操作。不论是简单的 GET 请求还是复杂的 POST 请求,都可以通过 JMeter 轻松实现,并且能够生成详细的测试报告,帮助你分析系统性能。