当前位置: 首页 > news >正文

学会这个样生成性能测试报告,拿下20k轻轻松松

[文章末尾给大家留下了大量的福利]

JMeter 执⾏原理
  JMerer 通过线程组来驱动多个(也可以理解为LR⼯具⾥⾯的虚拟⽤户)运⾏测试脚本对⽬标服务器发起⼤量的⽹络请求,在每个客户端上可以运⾏多个线程组,也就是说⼀个测试计划⾥⾯可以包含N个线程组。

  线程属性(线程数)

    ⼀个线程可以理解为对应模拟⼀个⽤户,所以线程数越多,那么也就认为可以模拟的⽤户数越多

  调度器
    设置何时开始运⾏
  持续时间
    测试计划持续多⻓时间
  启动延迟
    延迟多⻓时间开始运⾏测试,也就是说点击执⾏后,仅做初始化不会执⾏测试,等待延迟到达后开始运⾏测试,执⾏的时间为持续时间设置的时间

聚合报告

响应时间图

在测试计划中添加后端监听器

  后端监听器是异步侦听器,可以将数据推入到数据库中,提供了InfluxDB,graphite两个选项(推荐使用InfluxDB)

在两个系统之间有许多相似点

  1. 利用标签(tags/labels)有效地支持多维度量指标

  2. 使用相同的压缩算法

  3.都可扩展集成

  4.允许使用第三方进行监控系统的扩展

添加监控服务器资源

Jmeter 安装监控服务器资源插件

添加性能监控接口(CPU,Memory 内存,Disks I/O 硬盘,Swap 网络)

服务器需要配置 startAgent 才可获取

  在linux中启动 ./startAgent.sh,可能提示:“-bash: ./startAgent.sh: 权限不够”

  那么需要执行命令:chmod +x startAgent.sh(增加权限)

生成测试报告

  使用管理员权限打开命令提示符,进入 Jmeter 的tests(测试文件目录)

jmeter -n -t script/文件名.jmx -l 性能测试文件名.jtl -e -o 指定测试报告创建文件夹/(自动创建)

-n : 非GUI 模式执行JMeter
-t : 执行测试文件所在的位置及文件名
-r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定生成测试结果的保存文件, jtl 文件格式
-e : 测试结束后,生成测试报告
-o : 指定测试报告的存放位置(必须不存在)

例:jmeter -n -t script/TestDev.jmx -l testdev.jtl -e -o performanceReport/

在命令提示符中键入 jps 获取运行的 Java 程序 pid

在 jvisualvm 可查看对应程序的占用情况

 

 

  重点:学习资料学习当然离不开资料,这里当然也给你们准备了600G的学习资料

免费领取:文章末尾的qq群二维码备注【csdn000】直接自己打包带走

项目实战

app项目,银行项目,医药项目,电商,金融

大型电商项目

全套软件测试自动化测试教学视频

300G教程资料下载【视频教程+PPT+项目源码】

全套软件测试自动化测试大厂面经

python自动化测试++全套模板+性能测试

听说关注我并三连的铁汁都已经升职加薪暴富了哦!!!!

  

相关文章:

  • 爬取小说章节,并制作成词云进行宣传
  • [架构之路-18]:目标系统 - 硬件平台 - 案例1 - 单片机MCU STM32 芯片的工作原理与启动流程
  • C++内存管理以及模板的引入
  • ROS问题:gazebo没有想要的模型,而且不报错
  • 【SpringBoot+MyBatisPlus】点餐系统之登录功能、退出功能设计
  • 操作符(operator)
  • 数据同步工具—Sqoop
  • 文件上传之中间件解析漏洞详解
  • 【每日一好题】这么经典的题你不能不会:矩阵置零
  • JSR223常用函数和对象--Jmeter内置对象Chapter1
  • 从头开始训练神经网络(Unet)
  • Python制作自动填写脚本,100%准确率
  • 半小时了解SQL注入漏洞?(注入方式大全+绕过大全)
  • CSS 几种常见的选择器
  • 【Day17】Java算法刷题 【面试题 01.08. 零矩阵】 【844. 比较含退格的字符串】
  • avalon2.2的VM生成过程
  • gulp 教程
  • HTTP中GET与POST的区别 99%的错误认识
  • Java|序列化异常StreamCorruptedException的解决方法
  • mysql常用命令汇总
  • v-if和v-for连用出现的问题
  • 产品三维模型在线预览
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 分类模型——Logistics Regression
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前嗅ForeSpider采集配置界面介绍
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 主流的CSS水平和垂直居中技术大全
  • # Apache SeaTunnel 究竟是什么?
  • (LeetCode 49)Anagrams
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (力扣)循环队列的实现与详解(C语言)
  • (一)Java算法:二分查找
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net core 连接数据库,通过数据库生成Modell
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NetCore 如何动态路由
  • .net程序集学习心得
  • .NET单元测试
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .sh 的运行
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @javax.ws.rs Webservice注解
  • [2016.7.Test1] T1 三进制异或
  • [4.9福建四校联考]
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [Android]如何调试Native memory crash issue
  • [CLickhouse] 学习小计
  • [CUDA 学习笔记] CUDA kernel 的 grid_size 和 block_size 选择
  • [Delphi]一个功能完备的国密SM4类(TSM4)[20230329更新]