Apache JMeter是Apache组织开发的基于Java的压力测试工具,它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。

目录

JMeter安装配置

下载安装

JMeter参数配置

默认配置

​内存配置

JMeter运行

常用组件介绍

全局设置

HTTP Cookie管理器

HTTP缓存管理器

HTTP请求默认值

CSV数据文件设置

BeanShell预处理程序

测试主体

测试结果

查看结果树

聚合报告

服务器性能监控


JMeter安装配置

下载安装

方法一:访问官网 (opens new window),选择apache-jmeter-5.3.zip,点击下载后解压

方法二:点击此处 (opens new window)下载后解压

JMeter参数配置

默认配置

启动前需要对一些默认配置项进行修改,JMeter配置文件为/path/to/jmeter/bin/jmeter.properties,具体修改如下:

# JMeter默认的界面语言是英文,修改为中文
language=zh_CN# 结果集输出的字符集默认为ISO-8859-1,防止响应结果乱码需要修改为UTF-8 sampleresult.default.encoding=UTF-8

提示: 运行jmeter之后,若以上配置未将语言修改为中文,则可使用以下方法进行JMeter语言修改

在菜单栏点击Options>Choose Language>Chinese(Simplified)即可修改语言为中文

​内存配置

当并发数量过多时,JMeter内存配置不满足此时并发需求,会导致请求出现异常使结果不正确。Windows下右键编辑/path/to/jmeter/bin/jmeter.bat,修改以下配置即可:

# 修改Xmx的值来增大JMeter内存配置
set HEAP=-Xms1g -Xmx2g

JMeter运行

双击/path/to/jmeter/bin/jmeter.bat,即可运行JMeter

启动后的界面如下

整体分3部分:

  1. 菜单栏

  2. 工具栏

  3. 操作界面(左:标签 右:标签信息)

提示: 在Windows测试端网络或硬件性能受限的情况下,需要将录制好的测试脚本放到同网段、高性能的服务器上运行

常用组件介绍

一个完整的测试计划分为3部分:全局设置、测试主体和测试结果

​下面对这3部分常用的组件分别进行讲解

全局设置

HTTP Cookie管理器

用于管理其范围内HTTP请求的Cookie,详细介绍见官方文档 (opens new window)。

HTTP缓存管理器

用于在其范围内向HTTP请求添加缓存功能,模拟浏览器缓存,详细介绍见官方文档 (opens new window)。

HTTP Cookie管理器和HTTP缓存管理器两个配置元件只需要添加到测试计划中即可,不需特殊设置。如果没有这两个配置元件,会导致登录成功但是请求失败的情况。

HTTP请求默认值

一般情况下,我们在一个项目中调用的接口中域名、端口等都是相同的。当我们创建多个HTTP请求时,由于这些数据是必填项,所以就需要多次填写相同的数据。如果项目进行过程中出现了更改域名、更改端口号等情况,又需要把每一个请求中的数据都做更改,所以需要配置HTTP请求默认值将这些相同的参数设置为默认值,详细介绍见官方文档 (opens new window)。

下图是HTTP请求默认值的配置界面,需要配置被测试项目地址的请求协议、请求IP、端口号

CSV数据文件设置

从外部文件中读取变量值,用于变量的参数化,详细介绍见官方文档 (opens new window)。

下图是CSV数据文件设置的配置界面,此处读取记录了测试用户名/密码的外部CSV文件,并赋值给user、password变量

需要配置的选项:

  • 文件名:数据文件的路径

  • 文件编码:数据文件编码

  • 变量名称:定义变量读取数据文件中的内容,后续可以使用${变量名}来引用

BeanShell预处理程序

在请求发送之前执行BeanShell程序,处理一些复杂的数据,详细介绍见官方文档 (opens new window)。

例如下图,将csv文件中读取的用户名和密码先拼接为json格式,再将json使用base64加密,最后将加密值储存到"key"变量中,作为登录接口POST请求的消息体数据

import org.apache.commons.net.util.Base64; String user = vars.get("user");
String psw = vars.get("password"); StringBuffer buf = new StringBuffer();
buf.append("{\"user\":\"").append(user).append("\",\"password\":\"").append(psw).append("\"}"); String json = buf.toString(); byte[] encodedBytes = Base64.encodeBase64(json.getBytes("UTF-8"));
String encoded = new String(encodedBytes);
vars.put("key", encoded);

测试主体

测试主体包括访问测试项目(数据模型、仪表板、报表等)的整个过程,在线程组中通过执行HTTP请求实现,可以分为登录、操作、注销三个事务,其中登录、注销在模板中已经给出,只需要按照实际情况修改部分参数;操作可以使用JMeter的录制功能来实现,下面以录制访问首页看板为例介绍具体步骤:

1.在线程组中添加事务控制器,名称为访问首页看板

2.在测试计划中添加非测试元件-HTTP代理服务器,设置目标控制器为步骤1中创建的访问首页看板

3.点击启动,运行时不要关闭Recorder:Transactions Control对话框,否则会影响录制请求的结果

4.通过Internet属性-局域网设置设置系统代理服务器,由于HTTP代理服务器的工作原理是拦截并记录系统代理发出的请求,因此端口号需要保持与JMeter中的HTTP代理服务器组件设置一致

5.此时,在浏览器中所有操作的请求都会记录在访问首页看板控制器中。在浏览器输入首页看板的地址,回车进行访问,可以发现事务控制器中已记录了访问该仪表板过程中的所有请求

​提示: JMeter不会记录被缓存的HTTP请求,因此在访问被测试对象前,请清理浏览器缓存

测试结果

查看结果树

查看结果树中展示了每一个取样器的结果、请求信息和响应信息,可以查看这些内容去分析脚本是否存在问题,详细介绍见官方文档 (opens new window)。

聚合报告

对于每个请求,聚合报告统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量,详细介绍见官方文档 (opens new window)。

聚合报告名词解释如下:

  • 样本:发送到服务器的样本数目

  • 平均值:平均响应时间(毫秒ms)

  • 中位数:响应时间中位数,即有一半的服务器响应时间低于该值而另一半高于该值

  • 90%百分位:90%的请求的响应时间(毫秒ms),即90%请求响应时间不会超过该时间

  • 95%百分位:95%的请求的响应时间(毫秒ms),即95%请求响应时间不会超过该时间,与90%Line结合能够较好的反映实际情况下绝大多数用户的响应等待,非常有意义

  • 99%百分位:99%的请求的响应时间(毫秒ms),即99%请求响应时间不会超过该时间

  • 最小值:响应最小时间(毫秒ms)

  • 最大值:响应最大时间(毫秒ms)

  • 异常%:出错率=错误的请求的数量/请求的总数;

  • 吞吐量:每秒完成的请求数

  • 接收KB/sec:每秒接收的字节数

  • 发送KB/sec:每秒发送的字节数

服务器性能监控

在性能测试时,了解加载的服务器的健康状况是很重要的。使用jp@gc-PerfMon Metrics Collector插件,可以监控所有平台的CPU,内存,交换,磁盘I/O和网络I/O,详细介绍见官方文档 (opens new window)。

配置方法如下

服务器端:

  1. 点击此处 (opens new window)下载ServerAgent.zip,上传到服务器

  2. 运行unzip ServerAgent-2.2.3.zip解压

  3. 在ServerAgent-2.2.3目录下执行nohup ./startAgent.sh &即可,默认端口为4444

提示: 如果端口号被其他服务占用可以进行修改

执行如下命令

vim startAgent.sh

添加--udp-port xxxx --tcp-port xxxx参数,例如修改端口为7777,文件内容为java -jar $(dirname $0)/CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777"$@"

测试端:

  1. 点击此处 (opens new window)下载plugins-manager.jar,放置/path/to/jmeter/lib/ext下

  2. 重启JMeter,在菜单栏中点击选项,打开Plugins Manager,切换到Avaliable Plugins标签页,勾选PerfMon(Servers Performance Monitoring),点击Apply Changes and Restart JMeter

3.重新启动后即可在监听器中找到jp@gc-PerfMon Metrics Collector

配置界面如下图所示,在Servers to Monitor表格中配置服务器ip、ServerAgent服务端口号、监听类型即可

更多精彩:

官网:山川软件

示例DEMO地址:https://demo.succbi.com/

产品文档地址:SuccBI产品文档 | 山川软件产品文档

DEMO体验版下载地址:4.20.x版本发行日志 | 山川软件产品文档

B站视频地址:SuccBI的个人空间_哔哩哔哩_Bilibili

JMeter安装配置及使用说明【最全面】相关推荐

  1. Jmeter安装配置详细教程

    目录 1.Jmeter下载 1.1.下载地址 1.2.选择对应版本 2.JDK安装 2.1.java环境检查 2.2.JDK安装 2.2.1.JDK下载 2.2.2.JDK安装 2.2.3.JDK环境 ...

  2. Jmeter安装配置教程【5.5】【Windows】,装不好你打我

    目录 一.检查电脑是否有java的JDK,需要1.8以上版本 二.下载Jmeter安装包 三.配置jmeter运行环境 四.验证Jmeter是否配置成功 五.将Jmeter修改成中文 一.检查电脑是否 ...

  3. Jmeter安装配置使用超详细教程(亲测有效)

    文章目录 1.Jmeter下载 2.JDK安装 3.Jmeter环境部署 4.验证jmeter 5.修改语言 6.接口测试 1.Jmeter下载 1.1.下载地址 http://jmeter.apac ...

  4. jmeter安装(jmeter安装配置)

    太阳能热水器安装步骤,要详细点的 先将太阳能热水器的支架连接安装好,在安装水桶与支架连接好,都有螺丝的很多好安,安装时要注意角度,先不要把螺丝上紧,太阳能玻璃管配有象胶圈,将胶圈安在水桶上的孔里,要放 ...

  5. miui主题编辑器和java jdk_JDK、Jmeter安装与配置

    jmeter安装配置教程 1.下载Jmeter http://jmeter.apache.org/ 2安装Jmeter之前 安装Jmeter之前需要先配置Java环境,我们下载的是jmeter4.0, ...

  6. Jmeter最新安装配置

    Jmeter安装配置 1.安装jdk 2.配置环境变量 3.安装jmeter 4.配置环境变量 5.jmeter修改语言 1.安装jdk 官网:https://www.oracle.com/java/ ...

  7. JMeter 5.0安装配置(win10)

    1. 下载binaries下的.zip安装包 https://jmeter.apache.org/download_jmeter.cgi 2. 修改jmeter内存配置(以适应高并发测试) 修改文件: ...

  8. JMeter安装及环境配置

    目录 1.JMeter 介绍 2.JDK下载 3.JDK环境变量配置 ① 新建系统环境变量JAVA_HOME ② 编辑系统变量Path ③ 新建系统变量CLASSPATH变量 ④ 验证Java环境 4 ...

  9. Jmeter安装及配置教程

    Jmeter安装及配置教程 一.JMeter的安装配置过程 二.JMeter的运行和语言设置 一.JMeter的安装配置过程 安装配置过程: 第一步 安装JDK,配置JDK路径 到Oracle官方网站 ...

最新文章

  1. php 实现域名路由器,域名路由 · ThinkPHP5.0完全开发手册 · 看云
  2. vu项目中按F5刷新element菜单没有根据路由匹配菜单解决办法
  3. Java NIO学习系列五:I/O模型
  4. 【Leetcode】二叉树展开为列表(递归思想)
  5. 直播 | 平安人寿资深算法工程师谢舒翼:智能问答系统探索与实践
  6. java深入理解浅拷贝和深拷贝
  7. BZOJ4503 两个串 【fft】
  8. 得推乡镇拼车系统源码v1.0
  9. 谈谈自己对正则化的一些理解
  10. OO视角的重构技巧-if\switch 的消除
  11. Leetcode题目practice
  12. 十行代码编写一个Python小游戏,你准备好了吗?
  13. 服务器IP变更后如果更新openfire 服务IP
  14. UE4 初学者内容包介绍
  15. 计算机课件制作ppt,计算机应用基础_幻灯片制作ppt课件
  16. 关于时区、时间、时刻
  17. 3个方法提高电脑运行速度,亲测有效!
  18. 以一元及二元函数为例,通过多项式的函数图像观察其拟合性能;以及对用多项式作目标函数进行机器学习时的一些理解。
  19. 无法打开登录所请求的数据库 xxx。登录失败。用户 'AAA' 登录失败。
  20. 网页版数据库管理工具安装教程——phpAdmin

热门文章

  1. centos7 php oci,linux centos centos7 安装oci8和pdo_oci扩展
  2. 【Spark NLP】第 3 章:Apache Spark 上的 NLP
  3. HTTP协议2)----对于传输层的详细讲解
  4. 一句话系列:姓名模糊匹配算法
  5. 页面添加漂浮物 掉礼物效果 掉红包效果
  6. uni-app常见问题以及解决方案
  7. Android隐藏导航栏按键,Android如何控制导航栏单个按键的显隐状态
  8. Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter4:Vanilla Graph Neural Networks
  9. python股票全套系统_GitHub - hyspider/stock: stock,股票系统。使用python进行开发。
  10. 小米android通知栏提示怎么关闭,怎么取消小米音乐自动在通知栏中显示控制开?...