JMeter详细使用教程及实际案例

举报
长路 发表于 2022/11/23 00:40:07 2022/11/23
【摘要】 本篇博客主要是介绍JMeter并发测试工具的安装及实际使用。博客目录索引(持续更新)

@[toc]

前言

本篇博客主要是介绍JMeter并发测试工具的安装及实际使用。

所有博客文件目录索引:博客目录索引(持续更新)

学习资料

博文:

视频:

知识点整理

参数:最重要的是qps以及tps

  • QPS:Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数
  • HPS:每秒点击数
  • TPS:每秒交易数,每秒事物数。(一个完整的业务做完)

其他关注的指标

  • 最大响应时间:请求从发出到返回结果的最大时间。
    • 发n次请求取最大。
  • 最少响应时间:请求从发出到返回结果的最少时间。
  • 90%响应时间:例如发送一万个请求,90%都1秒返回过来了,说明性能很好。

核心三个指标:吞吐量、响应时间、错误率

  • 吞吐量大说明支持大并发。
  • 响应时间短说明性能好
  • 错误率指的是多个请求出现的比例。

一、安装JMeter

Jmeter官网

image-20220611091329382

下载解压后,进入到bin目录下:

image-20220611091554714

二、永久修改jmeter的配置

参考:JMeter——》调整界面比例、字体大小

找到jmeter.properties配置文件:

image-20220611092238378

直接在配置文件最底部加上如下内容:即可覆盖上面没有设置或者已经设置的内容

# 自定义新增覆盖上上面的
# 修改默认语言
language=zh_CN
# 修改字体格式与大小
jsyntaxtextarea.font.family=Hack
jsyntaxtextarea.font.size=25
# 修改模式、图片大小
jmeter.hidpi.mode=true 
# ##:修改右侧参数比例:factor=1.2,指放大1.2倍
jmeter.hidpi.scale.factor=1.5
# ##:修改工具栏比例:可选:默认=22x22, 22x22,32x32;
jmeter.toolbar.icons.size=48x48
# # 修改左侧树结构比例
jmeter.tree.icons.size=32x32

接着打开jmeter后若是配置不生效:随意点击外观下的一个主题,就能够生效了

image-20220611094833439

你也可以勾选日志查看,看对应调整的参数是哪个,从而来进行自定义配置。

三、快速上手

3.1、实战测试

学习教程:jmeter压测实战-并发场景设计

创建线程组与需求说明

创建线程组

首先肯定要添加一个线程组来进行测试,添加方式如下:

image-20220611103543813

image-20220611103915695

循环次数一般为1,Ramp-Up就是准备指定线程数的时间(若是你使用的线程数很大那么就需要设置n秒来进行一个提前准备与分配内存)。

需求说明

需求:测试一个接口http://127.0.0.1:8999/api/common/members

我们首先添加一个HTTP请求:

image-20220611104226215

然后根据接口的url来进行填写:

image-20220611104348785

接着依次添加对应的监听器,可以来看我们的请求结果:

image-20220611104545864

添加好效果如下:

image-20220611104606336

场景一:模拟2000个用户访问(非并发)

image-20220611110307285

接着几个报告结果就都会有对应的一个测试结果。

**为什么说不是并发?**看下表格查看结果报告

可以看到这个过程是55-59秒,也就是说这样子测试是直接一个个线程串行执行的,而不是并发在固定时间内发送出去:

image-20220611105703901

image-20220611105736474

场景二:模拟2000个用户访问(并发)

清空上一轮的结果

image-20220611105329749

依次将上一次的结果清楚继续下一次测试。

测试

1、设置Ramp-Up时间

目的:由于线程数之后增大,需要根据实际情况来设置这个准备时间秒数,这个秒数指的是在指定时间内来准备指定的线程数,你可以理解提前预备准备。

image-20220611110509546

2、添加一个同步定时器

image-20220611110138028

设置模拟用户组数量为2000,这样的话在这一组的2000个就会在同一时间内进行并发发送请求:

image-20220611110326946

3、测试

准备好预备动作后,来进行启动:

右上角会有一个预备时间:

image-20220611110905349

此时再来看下根据表格查看结果:你此时可以看到2000个请求几乎是在同一时间内发送出去的

image-20220611110947123

image-20220611111012274

结果查看

根据对应多个报告来查看结果:

image-20220611111209820

image-20220611111219161

image-20220611111227879

image-20220611111254550

3.2、各类报告

常用说明:

image-20220416163219472

汇总报告

打开方式:

image-20220611095329506

参数说明:

image-20220416162825287

样本:总共请求数

平均值:平均响应时间

最小值:最小响应时间

最大值:最大响应时间

标准偏差:每个值与平均值的平均差度

异常:所有请求发送多少异常

吞吐量:很重要,根据它来衡量每个接口的并发能力

聚合报告

打开方式:

image-20220611095422586

说明:

image-20220416163026192

中位数:反映我们普遍的请求,哪个响应时间响应成功的。


四、Jmeter插件使用

性能监控

  • 性能测试工具: 用什么工具来做性能测试
  • 性能测试场景设计: 用什么方法模拟我们性能测试需求
  • 性能监控:监控我们性能测试过程,收集性能测试过程中数据,拥有性能分析----主要时收集被测服务器的资源使用情况被测服务器的资源:
    • 硬件资源: cpu、内存、io、网络
    • 软件资源: tomcat、jvm、数据库、连接池、中间件…

参考:Jmeter常用插件下载

jmeter插件下载地址:https://jmeter-plugins.org/wiki/Start/

客户端插件:JMeterPlugins-Standard、JMeterPlugins-Extras。

服务端插件:ServerAgent。

4.1、客户端插件使用

步骤1、进入插件官网进行下载JMeterPlugins-Standard、JMeterPlugins-Extras

jmeter-plugins

image-20220611112714011

步骤2、解压得到jar包添加到jmeter的ext目录中

解压后分别在ext目录中拿到JMeterPlugins-Extras.jarJMeterPlugins-Standard.jar

将这两个插件添加到对应jmeter安装目录下的lib/ext中即可。

接着我们重启jmeter来添加器看看,若是有下面内容表示添加成功:

image-20220611112630753

经常使用的有TPS…。


4.2、服务端监控

建议

建议:使用这个插件检测功能最好使用jmeter3.1版本,否则在执行测试时就会出现报错

这里贴一个jmeter3.1版本:jmeter

image-20220611134231403

如何找到这个网址?

image-20220611134304736

image-20220611134319590


使用方式

原理:在你目标监控的服务器端运行ServerAgent程序,默认是4444端口,接着在客户端使用一个监听器jp@gc - PerfMon Metrics Collector,添加一个指定监听地址记录即可之后请求时监听。

ServerAgent-2.2.1.zip下载地址:ServerAgent-2.2.1

解压之后得到该目录

1、服务端启动监控

image-20220611135422798

Windows:双击ServerAgent.bat启动。

Linux:运行指定端口,若是不指定默认就是4444端口。

  • 对应命令:./startAgent.sh --udp-port 0 --tcp-port 5689

2、客户端进行监控

添加一个监控器:

image-20220611135811885

添加监控地址:

image-20220611135854573

然后我们直接运行这个接口测试即可:

image-20220611140042238

参考文章

[1] 基础教程:【测试基础】jmeter工具介绍及使用方法jmeter工具使用介绍

[2] 插件:Jmeter常用插件下载

[3] 性能监控(SeverAgent工具与jmeter配合使用)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。