程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 程序员日常

    • 基于jmeter完成压测
      • 1. 安装 JMeter
        • 1.1 下载 JMeter
        • 1.2 配置环境变量
        • 1.3 设置 JMeter 为中文界面
      • 2. 使用 JMeter 进行压测
        • 2.1 创建线程组
        • 2.2 创建压测请求
        • 2.3 添加结果树和聚合报告
        • 2.4 启动压测
      • 3. 基于 JMeter 测试 POST 请求
        • 3.1 配置 HTTP 请求
        • 3.2 配置 HTTP 信息头管理器
    • 在IDEA中配置Git的Push键
    • 添加 VSCode右键快捷菜单
    • Typora+PicGo搭建博客图床
    • 系统重装日记
    • MarkDown语法总览
    • Markdown技巧笔记
    • 解决Win11右键菜单问题
    • 理解Project和Module
    • IntelliJ IDEA 项目结构
    • 前端免费接口
  • 开发工具
  • 程序员日常
scholar
2024-01-17
目录

基于jmeter完成压测

前言

JMeter 是一款非常常用的开源性能测试工具,尤其适用于压测各种网络服务。本文将详细介绍如何在 Windows 10 环境下完成 JMeter 的安装及基础使用。


# 1. 安装 JMeter

# 1.1 下载 JMeter

首先,前往 Apache JMeter 官方下载页面 (opens new window) 下载适合的二进制安装包。请注意,这里一定要选择 Binaries 类型的安装包,而不是源码包,避免启动时出现不必要的错误。建议使用稳定版本,比如 5.1 版。

下载页面展示如下(以 JMeter 5.1 版本为例):

JMeter 下载

# 1.2 配置环境变量

下载完成后,将压缩包解压到一个你容易找到的目录中。例如,解压后的目录路径为:C:\JMeter\apache-jmeter-5.1。接下来,需要配置系统的环境变量,以便通过命令行直接运行 JMeter。

具体操作步骤如下:

  1. 添加 JMETER_HOME 环境变量:

    • 在 Windows 10 系统中,右键点击“此电脑”,选择“属性”。
    • 进入“高级系统设置”,然后点击“环境变量”。
    • 在“系统变量”区域,点击“新建”,在弹出的对话框中,输入:
      • 变量名:JMETER_HOME
      • 变量值:JMeter 的安装路径,例如 C:\JMeter\apache-jmeter-5.1

    图示如下:

    配置 JMETER_HOME

  2. 更新 Path 环境变量:

    • 在系统变量中,找到 Path,点击“编辑”按钮。
    • 点击“新建”,在新建一行中输入 %JMETER_HOME%\bin,这将使你能够在命令行中直接运行 JMeter。
  3. 验证安装是否成功:

    • 打开“命令提示符”(可以按 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 界面以中文显示,可以通过修改配置文件来实现:

  1. 进入 JMeter 安装目录下的 bin 文件夹,找到并打开 jmeter.properties 文件。

  2. 使用文本编辑器(如记事本)打开 jmeter.properties,搜索 language 这一字段,将它的值改为 zh_CN,这代表中文(中国)。修改后保存文件。

    下次启动 JMeter 时,界面将会切换为中文。界面如下:

    配置中文界面


# 2. 使用 JMeter 进行压测

一旦 JMeter 安装并配置完毕,你就可以开始创建和执行负载测试。下面将逐步介绍如何在 JMeter 中创建线程组、发起 HTTP 请求并生成测试报告。

# 2.1 创建线程组

在 JMeter 中,一个“线程组”用来模拟多用户访问,并定义模拟用户的行为。每次创建测试计划时,都需要先创建线程组。

  1. 启动 JMeter 后,你会看到一个默认的“测试计划”。

  2. 右键点击“测试计划”,依次选择 添加 -> 线程(用户) -> 线程组。

    创建线程组

  3. 创建线程组后,你可以修改它的参数,例如:

    • 线程数:表示要模拟多少个并发用户。例如,设为 10 即代表模拟 10 个并发用户同时发起请求。
    • Ramp-Up 时间:定义多长时间内启动所有线程。例如,如果设为 20 秒,并有 10 个线程,则每 2 秒启动一个用户。
    • 循环次数:定义每个线程要重复执行的次数。如果设为永远循环,则测试会持续不断运行,直到手动停止。

    线程组参数设置界面如下:

    设置线程组参数

# 2.2 创建压测请求

在设置好线程组后,接下来需要定义具体的压测操作,比如发起一个 HTTP 请求。每个线程(模拟用户)都会执行这些请求。

  1. 右键点击刚刚创建的“线程组”,选择 添加 -> 取样器(Sampler) -> HTTP 请求。

    创建 HTTP 请求

  2. 在 HTTP 请求的设置界面中,你需要填写目标服务器的详细信息:

    • 协议:选择 HTTP 或 HTTPS,取决于目标服务器支持的协议类型。
    • 服务器名称或 IP:填写要压测的目标服务器的域名或 IP 地址。例如 www.example.com 或 192.168.0.1。
    • 端口号:填写目标服务器的端口号,通常是 80(HTTP)或 443(HTTPS)。
    • 路径:填写请求的具体路径。如果你要压测的是网站首页,通常是 /,如果是其他页面,路径可以是 /example-page。

    请求配置界面如下:

    填写 HTTP 请求信息

# 2.3 添加结果树和聚合报告

为了能查看压测的结果和性能指标,需要添加“监听器”。监听器负责收集并显示请求的结果和统计数据。

  1. 右键点击 HTTP 请求,选择 添加 -> 监听器,接着选择 察看结果树 和 聚合报告。这两个监听器分别用来查看每个请求的详细响应和生成测试报告的统计数据。

    添加结果树和聚合报告

# 2.4 启动压测

现在,所有配置都已完成。你可以点击工具栏上的绿色启动按钮来开始测试:

启动压测

  • 查看请求的结果:测试开始后,点击“察看结果树”可以查看每个请求的详细响应数据。这包括请求是否成功、返回的响应数据以及时间等详细信息。

    查看请求结果

  • 查看性能测试报告:点击“聚合报告”可以生成详细的性能测试报告。这些报告会显示每个请求的平均响应时间、吞吐量、成功率等关键指标。

    查看性能测试报告


# 3. 基于 JMeter 测试 POST 请求

在实际应用中,POST 请求通常用于提交数据,比如登录、注册等操作。JMeter 也可以方便地进行 POST 请求的压测,以下是配置步骤:

# 3.1 配置 HTTP 请求

首先,新建一个 HTTP 请求,并将请求方法设置为 POST。同时,填写服务器的相关信息,包括服务器名称、端口号、路径等。

配置 POST 请求

# 3.2 配置 HTTP 信息头管理器

由于 POST 请求通常需要发送请求体(如 JSON 格式的参数),因此我们需要为请求添加正确的请求头,告知服务器发送的内容类型。

  1. 在 HTTP

请求上右键,选择 添加 -> 配置元件 -> HTTP 信息头管理器。

添加 HTTP 信息头管理器

  1. 在信息头管理器中,添加一个新的键值对:

    • Key:Content-Type
    • Value:application/json;charset=UTF-8

    这样,服务器就知道我们发送的数据是以 JSON 格式编码的了。

    配置 Content-Type

至此,POST 请求的配置已完成。你可以通过相同的方法启动测试,并查看结果。


希望通过本文的介绍,你现在已经掌握了如何在 Windows 10 上安装和配置 JMeter,并能够进行基本的 HTTP 压测操作。不论是简单的 GET 请求还是复杂的 POST 请求,都可以通过 JMeter 轻松实现,并且能够生成详细的测试报告,帮助你分析系统性能。

公众号封面

编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
在IDEA中配置Git的Push键

在IDEA中配置Git的Push键→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式