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

day35-测试之性能测试JMeter的测试报告、并发数计算和性能监控

目录

一、JMeter的测试报告

        1.1.聚合报告

        1.2.html报告

二、JMeter的并发数计算

        2.1.性能测试时的TPS,大都是根据用户真实的业务数据(运营数据)来计算的

        2.2.运营数据

        2.3.普通计算方法

        2.4.二八原则计算方法

        2.5.计算稳定性测试并发量

        2.6.计算压力测试并发量

三、JMeter的性能监控

        3.1.JMeter下载第三方插件

        3.2.常用的性能测试图表

        3.3.使用PerfMon插件监控服务器资源

四、今日学习思维导图

一、JMeter的测试报告

        1.1.聚合报告

                1).核心内容

                        响应时间、吞吐量、错误率、网路速率  

                2).作用

                        收集性能测试结束后,系统的各项性能指标。如:响应时间、并发数、吞吐量、错误率等

                3).位置

                        测试计划->右键->监听器->聚合报告

                4).参数介绍

                        4.1).Label:每个请求的名称

                        4.2).样本:各请求发出的数量

                        4.3).平均值:平均响应时间 (单位:毫秒)

                        4.4).中位数:中位数,50%<=时间

                        4.5).90%百分比:90%<=时间

                        4.6).95%百分比:95%<=时间

                        4.7).99%百分比:99%<=时间

                        4.8).最小值:最小响应时间

                        4.9).最大值:最大响应时间

                        4.10).异常%:请求的错误率

                        4.11).吞吐量:吞吐量。默认情况下表示每秒完成的请求数,一般认为它为TPS

                        4.12).接收KB/sec:每秒接收到的千字节数

                        4.13).发送KB/sec:每秒发送的千字节数

                5).补充

                        5.1).正常情况下,响应时间的结果取平均值

                        5.2).响应时间最大值特别高(超出平均水平特别多),导致平均值不能代表正常/大部分水平时,可以使用百分比时间

        1.2.html报告

                1).作用

                        JMeter支持生成HTML测试报告,以便从测试计划中获得图表和统计信息

                2).命令

                        2.1).jmeter -n -t [jmx file] -l [result file] -e -o [html report folder]

                        2.2).eg: jmeter -n -t hello.jmx -l result jtl -e -o ./report

                3).参数描述

                        3.1).-n:非GUI模式执行JMeter

                        3.2).-t [jmx file]:测试计划保存的路径及.jmx文件名,路径可以是相对路径也可以是绝对路径

                        3.3).-丨[result file]:保存生成测试结果的文件,jtl文件格式

                        3.4).-e:测试结束后,生成测试报告

                        3.5).-o[htmlreportfolder]:存放生成测试报告的路径,路径可以是相对路径也可以是绝对路径

                4).注意

                       result.jtl和report会自动生成,如果在执行命令时result.jti和report已存在,必须用先删除,否则在运行命令时就会报错 

二、JMeter的并发数计算

        2.1.性能测试时的TPS,大都是根据用户真实的业务数据(运营数据)来计算的

        2.2.运营数据

                1).

                2).PV:(PageView)即页面访问量,每打开一次页面Pv计数+1,刷新页面也是。PV只统计次数。

        2.3.普通计算方法

                1).计算公式:TPS=总请求数/总时间

                2).缺点:不太准确,只能满足最基本的要求,但是不能很好的覆盖系统正常的使用情况

        2.4.二八原则计算方法

                1).二八原则就是指80%的请求在20%的时间内完成。

                2).计算公式:TPS=总请求数*80%/(总时间*20%)

                3).优点:满足系统绝大多数情况下的应用场景的需要

        2.5.计算稳定性测试并发量

                1).并发TPS=有效请求数*80%/有效时间*20%

                2).当运营数据统计越精确时,计算出的并发TPS与实际的越接近

        2.6.计算压力测试并发量

                1).并发TPS=峰值请求数/峰值时间*系数

                2).满足峰值请求时间段内的负载量,系数取决于项目组对于未来业务量的评估

三、JMeter的性能监控

        3.1.JMeter下载第三方插件

                1).说明

                        先下载JMeter插件管理工具包,再用此包下载JMeter插件

                2).下载插件管理包的步骤

                        2.1).下载包管理工具jar包

                        2.2).将包管理工具jar包添加到JMeter放入到lib\ext目录下

                        2.3).重启JMeter,可以在选项下看到插件管理器

                3).安装第三方插件的步骤

                        3.1).打开PluginsManager插件管理器

                        3.2).选择AvailablePlugins,当前可用的插件

                        3.3).选择需要下载的插件 (等待右方文本内容展示出来)

                        3.4).下载右下角的下载按钮,自动的完成下载,JMeter会自动重启

                4).指定插件

                        4.1).3 Basic Graphs

                        4.2).5 Additionally Graphs

                        4.3).Custom Thread Groups

                        4.4).PerfMon

        3.2.常用的性能测试图表

                1).Concurrency Thread Group线程组

                        1.1).阶梯线程组

                                1.作用是阶梯加压

                                2.图形界面显示运行状态

                        1.2).添加方式:测试计划-->线程(用户)-->ConcurrencyThread Group

                        1.3).参数介绍

                                1.TargetConcurrency:目标并发(线程数)

                                2.Ramp UpTime:加速时间

                                3.Ramp-Up Steps Count:加速步骤计数

                                4.Hold Target Rate Time:运行时间

                                5.TimeUnit:时间单位(分钟或者秒)

                                6.ThreadIterationsLimit:线程循环次数

                                7.LogThreadsStatusintoFile:日志记录

                2). 每秒性能指标统计

                        2.1).

                        2.2).作用:查看系统长时间运行过程中是否有异常出现,有则进一步分析

        3.3.使用PerfMon插件监控服务器资源

                1).作用:用来监控服务端的性能资源指标的工具,包括cpu、内存、磁盘、网络等性能数据

                2).添加方法:线程组->监听器->jp@gc-PerfMonMetricsCollector

                3).注意:使用之前需要在服务器端安装监听服务程序并启动

                4).原理

                5).监控服务器资源指标的步骤

                        5.1).下载安装包ServerAgent-2.2.3.zip,链接地址:https://github.com/undera/perfmon-agent

                        5.2).上传到服务器上,并解压ServerAgent-2.2.3.zip

                        5.3).启动,如果是windows运行startAgent.bat,如果是linux运行startAgent.sh

                        5.4).启动这个工具后,jmeter的插件jp@gc-PerfMon MetricsCollector就可以收集服务端的资源使用率,并在jmeter中查看了

四、今日学习思维导图

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构,顺序表和单向链表(一对一)
  • maven引用项目内的jar包
  • Unity3D 屏幕适配详解
  • 【Sceneform-EQR】通过filament(gltfio)加载gltf模型动画(Filament使用Animator)
  • 【一起学Rust | 框架篇 | Tauri2.0框架】rust和前端的相互调用(前端调用rust)
  • ElasticSearch7.12.1详细安装
  • hdfs的慢盘检测
  • 浏览器插件利器--allWebPluginV2.0.0.18-alpha版发布
  • 快速学习安装使用etcd
  • 图像变换——等距变换、相似变换、仿射变换、投影变换
  • net core中byte数组如何高效转换为16进制字符串
  • 【maven】阿里云仓库配置
  • MySQL 中间件 MySQL-Router
  • 力扣229题详解:求众数 II 的多种解法与模拟面试问答
  • 由浅入深学习 C 语言:Hello World【基础篇】
  • 【知识碎片】第三方登录弹窗效果
  • Docker 笔记(2):Dockerfile
  • ES6 学习笔记(一)let,const和解构赋值
  • hadoop集群管理系统搭建规划说明
  • iOS 系统授权开发
  • iOS编译提示和导航提示
  • JavaScript设计模式之工厂模式
  • java中具有继承关系的类及其对象初始化顺序
  • Making An Indicator With Pure CSS
  • MySQL数据库运维之数据恢复
  • Vue 2.3、2.4 知识点小结
  • 番外篇1:在Windows环境下安装JDK
  • 浏览器缓存机制分析
  • -- 数据结构 顺序表 --Java
  • 算法-图和图算法
  • 微信小程序实战练习(仿五洲到家微信版)
  • 我感觉这是史上最牛的防sql注入方法类
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #define 用法
  • #QT 笔记一
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (js)循环条件满足时终止循环
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (八十八)VFL语言初步 - 实现布局
  • (六)激光线扫描-三维重建
  • (实战篇)如何缓存数据
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原创)可支持最大高度的NestedScrollView
  • (源码分析)springsecurity认证授权
  • (转)项目管理杂谈-我所期望的新人
  • .gitignore
  • .md即markdown文件的基本常用编写语法
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET 8.0 中有哪些新的变化?
  • .Net IOC框架入门之一 Unity
  • .NET Reactor简单使用教程
  • .NET 通过系统影子账户实现权限维持