Jmeter 压测工具的安装及使用

目录

    • 一、简介
    • 二、下载
    • 三、安装
    • 四、启动
    • 五、使用
      • 1.调整界面显示大小
      • 2.添加线程组
      • 3.添加 HTTP 请求
      • 4.添加 HTTP 请求头
      • 5.保存压测配置
      • 6.启动压测
      • 7.查看结果树
      • 8.查看聚合报告
    • 六、补充
      • 1.设置中文
      • 2.设置字体大小(永久生效)
      • 3.中文乱码

一、简介

  • 官网地址: https://jmeter.apache.org/

JMeter:是 Apache 公司使用 Java 语言开发的一款开源软件,用于对静态和动态资源进行压力测试。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。

除此之外,LoadRunner 也是一款出色的压测工具,可以通过脚本定制接口的调用逻辑。

注意:虽然 Postman 的 Runner 也可以进行压测,但是它是串行执行的,上一个请求结束之后才开始下一个请求,属于连续测试,不属于并发测试。而 JMeter 可以指定用户数,发请求的间隔时间,可以模拟并发测试。

二、下载

打开官网地址,选择 Download Releases 标签,选择 apache-jemeter-5.6.zip 下载即可。

注意:JMeter 要求 JDK8 的安装环境,需要先安装 JDK8 后才能使用。

在这里插入图片描述

下载后,文件如下:

在这里插入图片描述

三、安装

将下载后的压缩包进行解压:

在这里插入图片描述

其中 bin 文件夹中包含启动脚本 jmeter.bat

(为了后续运行方便,可以发送到桌面快捷方式。)

在这里插入图片描述

四、启动

双击 jmeter.bat,可以看到打开了一个控制台终端和 JMeter 的操作界面。

在这里插入图片描述

在这里插入图片描述

五、使用

1.调整界面显示大小

如果我们觉得界面字体太小,我们可以在 JMeter 界面中选择 Options -> Zoom InZoom Out 来调整大小。

在这里插入图片描述

2.添加线程组

在开始测试前,我们需要创建一个线程组。在执行计划上右键,选择 Add -> Thread (Users) -> Thread Group

在这里插入图片描述

然后,我们就可以在创建的线程组上设置我们需要进行的压力测试场景了,包括需要模拟的用户数(线程数)上升到要求并发量的时间需要循环执行的次数等。

在这里插入图片描述

3.添加 HTTP 请求

线程组创建好后,我们需要给线程组添加 HTTP 请求。在线程组上右键,选择 Add -> Sampler -> HTTP Request

在这里插入图片描述

根据需要压测的场景填写服务器IP端口号请求方式路径编码格式(utf-8),以及入参信息

参数信息里的 Content-Type 一般默认为 text/plain,表示普通文本格式传参。

在这里插入图片描述

如果需要使用 JSON 传参,需要将标签切换为 Body Data,然后在下面添加请求头的时候额外添加 Content-Type请求头,值为application/json

在这里插入图片描述

4.添加 HTTP 请求头

部分场景下,我们需要给 HTTP 请求添加请求头。在 HTTP 请求上右键,选择 Add -> Config Element -> HTTP Header Manager

在这里插入图片描述

比如,我们可以在请求头里面设置一个 token 的值,用于通过接口的鉴权校验。

在这里插入图片描述

5.保存压测配置

我们点击右下角的 Save 按钮,或者使用快捷键 Ctrl + S 来进行保存。这里我在 jmeter 目录下单独创建了一个 my_jmx 文件夹用于存储自己的压测文件。

在这里插入图片描述

6.启动压测

这里补充说明一下几个按钮的含义:

  • Start:正常启动压测。
  • Start no pauses:无停顿启动压测:忽略定时器。
  • Stop:直接停止接下来进行的所有线程。
  • Shutdown:在当前线程运行结束后,才会把剩下没有执行的线程结束掉。

压测的配置设置好后,有两种启动压测的方式:

方式一:选中设置好的线程组,在 JMeter 界面的左上角,点击播放样式的 Start 按钮。

在这里插入图片描述

方式二:在设置好的线程组右键,选择 Start

在这里插入图片描述

7.查看结果树

压测之后,我们需要查看压测结果。在 HTTP 请求上右键,选择 Add -> Listener -> View Results Tree

在这里插入图片描述

压测结果树页面如下所示:

在这里插入图片描述

8.查看聚合报告

结果树上可以看到请求响应的内容,如果想看到压测接口的具体指标,需要查看聚合报告。在 HTTP 请求上右键,选择 Add -> Listener -> Summary Report

在这里插入图片描述

聚合报告页面如下所示:(为方便查看,切换为中文展示)

在这里插入图片描述

六、补充

1.设置中文

在 JMeter 界面中选择 Options -> Choose Language -> Chinese (Simplified)

在这里插入图片描述

上面这种设置方式只是临时生效,永久生效的话需要修改 bin 文件夹下的 jmeter.properties 文件,增加如下配置:

language=zh_CN

2.设置字体大小(永久生效)

由于 JMeter 的默认字体比较小,为了更方便地使用 JMeter 进行压测,我们需要调整字体的大小。

在这里插入图片描述

首先,我们需要在 JMeter 界面将主题修改为 Metal,这个主题可以更好地让我们的字体大小配置生效。如果不想切换主题的话,每次启动之后需要手动 Zoom In 一下。

在这里插入图片描述
刚切换完主题,样式可会乱,点击 Yes 重启即可。

在这里插入图片描述

然后,编辑 jmeter.properties 文件,调整图标和文字的大小,增加如下配置:

jsyntaxtextarea.font.family=Hack
jsyntaxtextarea.font.size=25
jmeter.hidpi.mode=true
jmeter.hidpi.scale.factor=2.0
jmeter.toolbar.icons.size=48x48

最后,编辑 jmeter.bat,在第一行 @echo off 下面增加如下配置:

@echo offset JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.controlFont=Dialog-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.systemFont=Dialog-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.userFont=SansSerif-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.smallFont=SansSerif-30

保存后,重启 JMeter,就可以看到字体和图标已经变大了:

在这里插入图片描述

3.中文乱码

如果响应结果中文显示为乱码,如下图所示:

在这里插入图片描述

需要在 jmeter.properties 中添加如下配置:

sampleresult.default.encoding=UTF-8

重启后再次请求,发现响应结果中文显示正常:

在这里插入图片描述

整理完毕,完结撒花~ 🌻





参考地址:

1.postman和JMeter并发测试对比,https://blog.csdn.net/XXX1238XGH/article/details/116456907

2.Jmeter安装教程与使用,https://blog.csdn.net/SoulNone/article/details/127141672

3.jmeter stop shutdown Start no pauses,https://www.cnblogs.com/jiaoyaxiong/p/14602582.html

3.jmeter5.4.1修改字体大小,试错多次,终于成功,https://blog.csdn.net/qq_44084906/article/details/121717542

4.【Jmeter】Jmeter响应消息中文显示乱码,https://blog.csdn.net/qq_22938603/article/details/125806350

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20467.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ThinkPHP】实现一个逆向工程生成model

ThinkPHP为了节省一些重复的步骤,写了个简单版的生成model的工具,逆向生成model代码,节省时间,专注写业务代码。 ThinkPHP中的命令行也提供了一些生成代码的命令: make:controller 创建控制器 make:model 创建模型 m…

Photoshop简单案例(10)——利用PS修改证件照尺寸为1寸(或其他)

目录 一、项目介绍二、基本流程三、效果演示 一、项目介绍 本文介绍一下利用Photoshop修改证件照尺寸为1寸的方法。 二、基本流程 首先打开新建一个空白画布,设置画布宽度和高度分别为25mm和35mm,分辨率为300,背景颜色与证件照背景相同&am…

解决Ubuntu下arm-none-linux-gnueabihf-gcc -v :未找到命令

问题:arm-none-linux-gnueabihf-gcc -v arm-none-linux-gnueabihf-gcc:未找到命令 学习MP135开发板搭建环境之后没gcc不可用,网上找了很多教程都没法解决 解决方法: 1、重启:(我试了没用) 2、…

使用OpenCV显示图像的RGB颜色直方图

#include <opencv2/opencv.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv;int main( ) {Mat srcImage;srcImage=<

LiveGBS流媒体平台GB/T28181功能-作为上级平台对接海康大华华为宇视等下级平台监控摄像机NVR硬件执法仪等GB28181设备

LiveGBS作为上级平台对接海康大华华为宇视等下级平台监控摄像机NVR硬件执法仪等GB28181设备 1、背景说明2、部署国标平台2.1、安装使用说明2.2、服务器网络环境2.3、信令服务配置 3、监控摄像头设备接入3.1、海康GB28181接入示例3.2、大华GB28181接入示例3.3、华为IPC GB28181接…

基于Java+SpringBoot制作一个社区宠物登记小程序

制作一个社区宠物登记小程序,帮助社区居民登记和管理他们的宠物信息,以便更好地跟踪和维护社区中的宠物状况,通过社区宠物信息登记系统,社区居民可以更好地管理自己的宠物信息,并与其他宠物所有者共享资源和信息。这将有助于提高社区宠物的福利和安全,促进社区成员之间的…

Chat2DB-开源AI智能数据库客户端工具 能够将自然语言转换为SQL

一、Chat2DB是什么 Chat2DB 是一款有开源免费的多数据库客户端工具&#xff0c;支持windows、mac本地安装&#xff0c;也支持服务器端部署&#xff0c;web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力&#xff0c;能够将自然语言转换为SQ…

国产SAAS平台中类似Jira的有哪些值得关注的选择?

在项目管理市场中&#xff0c;Jira是一款非常知名的软件工具。它可以帮助团队成员更好地管理和协作&#xff0c;提高项目效率和质量。然而&#xff0c;Jira并不是完美的&#xff0c;存在诸如复杂操作、高昂费用等不足之处。因此&#xff0c;许多国内企业开始尝试寻找替代品&…

PowerShell 报错:因为在此系统上禁止运行脚本。有关详细信息

PowerShell 报错&#xff1a;因为在此系统上禁止运行脚本。有关详细信息 Import-Module : 无法加载文件 D:\\Documents\WindowsPowerShell\Modules\posh-git\1.1.0\posh-git.psm1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;请参阅 https:/go.microsoft.…

家政服务小程序软件解决方案

家政服务小程序软件是近年来随着人们对家政服务需求的增长而逐渐兴起的一种数字化服务解决方案。通过小程序软件&#xff0c;用户可以轻松预约家政服务&#xff0c;包括保姆、月嫂、钟点工等&#xff0c;而且价格透明、服务规范&#xff0c;大大提高了用户对家政服务的满意度。…

基于docker搭建gitea私服仓库,并开启https访问、ssh访问和邮箱验证通知功能

系列文章目录 git常用命令大锦囊 文章目录 系列文章目录前言一、gitea安装1. 安装docker compose2. 安装gitea 二、给gitea配置https访问三、gitea配置ssh方式拉取代码四、给gitea配置可发送的邮箱五、gitea注册开启邮箱验证和邮箱通知总结附录 前言 团队需要多人协作开发&am…

GPT所想即所见的快速解惑

这是学习笔记的第 2464篇文章 在很多年前&#xff0c;自己脑袋里面冒出来这样的一段文字&#xff0c; 黑暗中一个孩子站在田野上看着另外一个孩子 就好像自己在看自己。 说是感慨也好&#xff0c;伤感也罢。那种画面感是一直难以名状的&#xff0c;最近试了下GPT&#xff0c;给…