文章目录

  • 前言
  • 学习资料
  • 知识点整理
  • 一、安装JMeter
  • 二、永久修改jmeter的配置
  • 三、快速上手
    • 3.1、实战测试
      • 创建线程组与需求说明
      • 场景一:模拟2000个用户访问(非并发)
      • 场景二:模拟2000个用户访问(并发)
      • 结果查看
    • 3.2、各类报告
      • 汇总报告
      • 聚合报告
  • 四、Jmeter插件使用
    • 4.1、客户端插件使用
    • 4.2、服务端监控
      • 建议
      • 使用方式
  • 参考文章

前言

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

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

学习资料

博文:

  • JMeter 实战教程 - 性能测试、压力测试、负载测试、loadtesting
  • Jmeter 用表格查看结果 详解
  • 【jmeter】jmeter测试网站QPS

视频:

  • Jmeter5.x压测接口实战-接口性能优化前后QPS对比
  • jmeter压测实战-并发场景设计:实战场景,但是这里面用到的插件需要自行寻找。
  • 全套性能测试|jmeter|TPS|Jmeter插件管理|压力测试

知识点整理

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

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

其他关注的指标

  • 最大响应时间:请求从发出到返回结果的最大时间。

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

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

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

一、安装JMeter

Jmeter官网

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

二、永久修改jmeter的配置

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

找到jmeter.properties配置文件:

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

# 自定义新增覆盖上上面的
# 修改默认语言
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后若是配置不生效:随意点击外观下的一个主题,就能够生效了

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

三、快速上手

3.1、实战测试

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

创建线程组与需求说明

创建线程组

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

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

需求说明

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

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

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

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

添加好效果如下:

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

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

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

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

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

清空上一轮的结果

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

测试

1、设置Ramp-Up时间

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

2、添加一个同步定时器

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

3、测试

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

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

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

结果查看

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

3.2、各类报告

常用说明:

汇总报告

打开方式:

参数说明:

样本:总共请求数

平均值:平均响应时间

最小值:最小响应时间

最大值:最大响应时间

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

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

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

聚合报告

打开方式:

说明:

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


四、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

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

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

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

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

经常使用的有TPS…。


4.2、服务端监控

建议

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

  • 4.5 Jmeter5.3监控Linux资源报错:Uncaught Exception java.lang.NoSuchMethodError: org.apache.jmeter.samplers.
  • Jmeter 3.1版本之后暂时没有setFormatter函数功能

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

如何找到这个网址?


使用方式

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

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

解压之后得到该目录

1、服务端启动监控

Windows:双击ServerAgent.bat启动。

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

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

2、客户端进行监控

添加一个监控器:

添加监控地址:

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

参考文章

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

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

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

JMeter详细使用教程及实际案例相关推荐

  1. Jmeter详细使用教程,Jmeter压测,并发测试

    Jmeter下载 官方下载路径:  @官方网址 jmeter3.1有道云安装包: http://note.youdao.com/noteshare?id=c35870 a98a89676ba95397 ...

  2. 【SPSS】回归分析详细操作教程(附案例实战)

  3. 【SPSS】因子分析详细操作教程(附案例实战)

  4. 【SPSS】交叉设计方差分析和协方差分析详细操作教程(附案例实战)

  5. 【SPSS】生存-寿命表分析详细操作教程(附案例实战)

  6. 【SPSS】单样本K-S检验和两独立样本K-S检验详细操作教程(附案例实战)

  7. 【SPSS】列联表分析详细操作教程(附案例实战)

  8. 【SPSS】多选项分析详细操作教程(附案例实战)

  9. 【SPSS】两独立样本T检验分析详细操作教程(附案例实战)

  10. 【SPSS】单样本T检验分析详细操作教程(附案例实战)

最新文章

  1. 小米 Play 发布:CPU+GPU 双 Turbo,每个月送 10 GB 流量
  2. 人脸识别算法初次了解
  3. python装饰器-装饰器
  4. 数据算法竞赛:ICDM 2020 TOP3方案
  5. Ubuntu上使用octopress+github建立个人博客
  6. 旋转数组(右旋转,js实现,unshift,splicec实现)
  7. javascript一些基础知识
  8. RGB与YUV的转换
  9. 使用python实现arp欺骗
  10. UE4蓝图学习篇(一)
  11. 程序员也要学英语——限定词、形容词和副词
  12. Unity功能记录(七)------ UGUI获取UI在Canvas下的坐标/根据UI位置获取屏幕图片/二维码识别
  13. 划重点 传输层协议 tcp三次握手和四次挥手
  14. ROS学习第三天 ROS的通讯机制
  15. Frontiers | 北林邬荣领/何晓青-网络作图揭示拟南芥与叶际微生物组互作机制
  16. uni-app 中使用iconfont图标
  17. U盘启动盘安装win10出现cdboot:couldn't find ntldr
  18. windows界面-python-运动倒计时程序
  19. 基于web的医疗设备销售业务系统的设计与实现
  20. 【毕业设计】基于单片机的智能饮水机系统 - stm32 物联网 嵌入式

热门文章

  1. vijos 1002
  2. 从0搭建一个邮件服务器(用于邮件推送以及邮件群发业务)
  3. eclipse jad 反编译class文件 插件安装
  4. js JavaScript实战练习——小球碰撞反弹(详细)
  5. csgo准星设置代码_csgo准星代码怎么输入
  6. 【今日CV 计算机视觉论文速览 第144期】Wed, 17 Jul 2019
  7. 发票验真API开发文档
  8. 【Mac】Mac 键盘快捷键大全
  9. 方舟官方服务器怎么显示血量,方舟端游怎么显示血量
  10. 赤兔AVI视频恢复软件找回永久删除的avi视频