初学JMeter压力测试

最近在项目开发的过程中,涉及到 HTTP 接口性能测试,测试具体的接口处理能力。网上测试工具很多很多,找了一个最经典 JMeter 来进行压力测试,记录一下初学如何安装和使用 JMeter 测试工具。

部署环境说明

由于想要压力测试,1 秒内达到 1000 个请求的能力,也就是说 JMeter 要使用多线程来虚拟用户访问接口,通常 JMeter 测试的时候一个 CPU 的核并发 100-200 线程。为了避免由硬件性能造成无法达到测试目的,在一个 64 核心的服务器上进行。

下面是一些操作系统环境的基本的信息,以供参考。

  • 操作系统:Ubuntu 24.04.1 LTS
  • JAVA:openjdk 17.0.13 2024-10-15
  • JMeter:5.6.3

可以参考上述的一些基本环境,进行捣鼓。

安装和使用

JMeter 是开源软件 Apache 基金会下的一个性能测试工具,用于测试部署在服务器端的应用程序的性能。

下载

打开 JMeter 的官方网站 https://jmeter.apache.org/ ,国内可以直接打开。找到左侧的 Download releases 下载,点击进入下载页面。

进入下载页面过后,找到 Binaries 下载,两种不同的压缩方式的文件均可,这里以 .zip 结尾的文件为例。

在服务器上执行 wget 命令就可以下载到当前的目录,如果是 windows 的话,直接点击就可以下载相应的文件。然后解压缩,使用对应的命令行运行。

1
2
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zip
unzip apache-jmeter-5.6.3.zip

安装

JMeter 是一款免安装的软件,下载安装包后直接解压即可使用。在 bin 目录下,Windows 用户运行 jmeter.bat 文件即可启动 JMeter,Unix / MacOS 用户则需要运行 jmeter.sh。不过这是在有 GUI 界面的情况下,由于服务器是没有 GUI 支持的,考虑远程运行的方式,然后通过互联网连接。

所以有三个步骤需要完成:

  1. 在本地计算机上安装 JMeter,GUI 的方式运行;
  2. 在远程服务器上安装 JMeter,Server的方式运行;
  3. 配置本地计算机的 JMeter 连接远程的 JMeter。

本地安装

直接下载并且解压过后,在本地的 Windows 环境下,进入 bin 文件夹,双击 jmeter.bat 文件。

这个界面,官方建议用来创建测试计划,然后再运行命令行来加载和测试。

1
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

服务器安装

服务器下载过后,解压,并且使用服务器模式运行。在此之前,需要修改部分 jmeter-server 中的内容,否则会报错本地回环地址:

1
RMI_HOST_DEF=-Djava.rmi.server.hostname=172.29.0.2 # 修改为自己服务器的 IP 地址

接下来,在 jmeter.properties 中,删除 ssl 安全相关的依赖,否则会报错无法监听端口:

1
server.rmi.ssl.disable=true

然后再运行 jmeter-server 就可以跑起来了,确保服务器上的防火墙端口打开,可以访问得到。

1
./jmeter-server

本地连接服务器 JMeter

到这儿还是不行,我也服了,做个测试这么麻烦,怪不得大家都在做自己的自动化测试工具。

本地安装好的 JMeter 也要相应的配置,设置 jmeter.properties 关闭 ssl,添加远程服务器的地址:

1
2
3
remote_hosts=172.29.0.2 # 如果多个的话,用逗号隔开
# ....
server.rmi.ssl.disable=true

都设置好了过后,重新运行 jmeter.bat。

说明

查阅官方文档过后,大家称这种测试方式为分布式压力测试,这里只用到了 1 个节点。因为在做压力测试的时候,往往需要十分巨大的请求量来测试系统的承载服务的能力,所以提供了这种配置方式来进行压力测试。

使用

接下来测试某个接口的能力,模拟在 1s 内 1000 个用户同时访问某个 HTTP 接口。参考官方文档,设置好测试计划测试某个 HTTP 接口。

以上就是初步学习使用 JMeter进行分布式测试的方法,赶快试一试吧!


初学JMeter压力测试
https://www.cxzworld.cn/2025/01/10/初学JMeter压力测试/
作者
初学者的世界
发布于
2025年1月10日
许可协议