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中查看了

四、今日学习思维导图


http://www.ppmy.cn/news/1519049.html

相关文章

MATLAB绘图基础2:MATLAB数据结构

参考书&#xff1a;《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 2.MATLAB数据结构 2.1 MATLAB向量 数组 ( A r r a y ) ({\rm Array}) (Array)&#xff1a; M A T L A B {\rm MATLAB} MATLAB中数组可以是一维数组、二维数组或多维数组&#xff0c;这些数组…

【自用16.】C++类

类的构成 类的设计 代码demo #include <iostream> #include <Windows.h> #include <string>using namespace std;// 定义一个“人类” class Human { public: //公有的&#xff0c;对外的void eat(); //方法&#xff0c; “成员函数”void sleep();void …

入行「游戏策划」,该从何处下手?

想知道策划岗位该怎么入行可点击蓝链 相比较起以技术为最重要评判标准的开发岗&#xff0c; 「游戏策划」这一岗位在非业界人士的眼中 一直都是一个风评方差很大的岗位。 有人说策划岗又轻松又威风&#xff0c; 只需要输出想法&#xff0c;落地都交给开发&#xff0c; 干…

力扣2402.会议室 III

力扣2402.会议室 III 双堆模拟 一个堆存未占用的会议室编号一个堆存已占用的结束时间和编号 class Solution {public:int mostBooked(int n, vector<vector<int>>& meetings) {int cnt[n];memset(cnt,0,sizeof(cnt));priority_queue<int,vector<int&g…

HarmonyOS ArkUI工程框架解析

通过 HarmonyOS Developer 官网我们可以了解 ArkUI 是一套声明式开放框架&#xff0c;开发者可以基于 ArkTS 语法设计一套极简的 DSL 以及丰富的 UI 组件完成跨设备的界面开发。 那么 ArkUI 是如何实现这一套声明式开放框架的呢&#xff1f;本文将通过分析开源的 HarmonyOS 渲染…

为什么说程序员做量化投资其实很有优势

炒股自动化&#xff1a;申请官方API接口&#xff0c;散户也可以 python炒股自动化&#xff08;0&#xff09;&#xff0c;申请券商API接口 python炒股自动化&#xff08;1&#xff09;&#xff0c;量化交易接口区别 Python炒股自动化&#xff08;2&#xff09;&#xff1a;获取…

二叉树的前序遍历(LeetCode)

题目 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历 解题 # 定义二叉树节点的类 class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right right# 前序遍历的递归实现 def preorderTraversal(root: TreeNode…

【MySQL】字节跳动MySQL连环40问(网图)

本文首发于 ❄️慕雪的寒舍 字节MySQL连环40问&#xff0c;网图 虽然感觉这玩意和字节跳动没关系&#xff0c;但是管他的&#xff1f;直接开始回答&#xff01; 1.MySQL中有哪几种锁&#xff1f; 会的不全&#xff0c;所以查的GPT MySQL中有多种类型的锁&#xff0c;主要包括以…

【甲方安全建设】富文本编辑器XSS漏洞攻击及防御详析

原创文章,禁止转载。 文章目录 调研背景搭建TinyMCE富文本编辑器靶场富文本编辑器前端过滤富文本编辑器后端攻击后端弱过滤弱过滤1弱过滤2后端有效过滤从甲方的视角看动态安全调研背景 随着Web 2.0技术的普及,富文本编辑器在各种Web应用中得到了广泛应用,用户、网站管理员等…

计算机网络1.1

计算机网络&#xff1a;多台电脑 通过交换机 相互连接 互连网&#xff1a;多个计算机网络 通过路由器 连接 互联网&#xff1a;最大的互连网 电路交换&#xff1a; 报文交换&#xff1a;传送的数据在中间节点进行储存&#xff0c;再进行转发&#xff08;根据转发表确定转…

中仕公考怎么样?省考笔试成绩什么时候出?

根据往年的经验&#xff0c;省考笔试的成绩通常在考试后的大约一个月左右公布&#xff0c;但具体日期会根据各省份的公告而有所差异&#xff0c;不同省份具体时间不同&#xff0c;以2024年的为例&#xff1a; 广东省预计于笔试后约30天发布、山东省预计于笔试后约35天发布、浙…

FPGA案例小程序

FPGA&#xff08;Field-Programmable Gate Array&#xff0c;现场可编程门阵列&#xff09;的应用广泛&#xff0c;因此存在许多不同领域的案例小程序。以下是一些FPGA案例小程序的示例&#xff0c;涵盖了不同的应用场景&#xff1a; 1. 串口闭环收发小程序 应用场景&#xf…

Vue动态表头数据

目录 动态表头与数据第一种数据处理与渲染1-1.数据格式1-2.数据处理1-3.数据渲染注&#xff1a;如果后端返回下列数据格式&#xff0c;则不需要reduce直接复制给bodyData和Header即可渲染成功。 动态表头与数据 本文主要解决场景&#xff1a;表头不固定、从后端数据中拿取表头…

23. 如何使用Collections.synchronizedList()方法来创建线程安全的集合?有哪些注意事项?

Collections.synchronizedList() 方法用于将一个普通的 List 包装成线程安全的 List。通过这个方法生成的 List&#xff0c;所有的访问和修改操作都会被自动加锁&#xff0c;从而确保在多线程环境下对集合的并发访问是安全的。 如何使用 Collections.synchronizedList() 创建线…

JAVA毕业设计167—基于Java+Springboot+vue3+小程序的物业管理系统小程序(源代码+数据库+万字论文+文献综述)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3小程序的物业管理系统小程序(源代码数据库万字论文文献综述)167 一、系统介绍 本项目前后端分离带小程序(可以改为ssm版本)&#xff0c;分为用户、管理员两…

华为OD机试真题 - 最长子字符串的长度(二) (Python/JS/C/C++ 2024 D卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、…

【攻防世界新手入门】simple_js

小宁发现了一个网页&#xff0c;但却一直输不对密码。&#xff08;Flag格式为 Cyberpeace{xxxxxxxxx} &#xff09; 该题来自攻防世界新手练习区的 GFSJ0480。 访问靶场&#xff0c;输入任意密码&#xff0c;弹出错误窗口并加载空页面&#xff0c;使用检查器查看对应源代码&…

跨境电商避坑指南:如何在亚马逊和速卖通安全进行测评补单

大家好&#xff0c;近期&#xff0c;不少从事跨境电商的朋友纷纷向我求助&#xff0c;他们在执行测评补单时频繁遭遇支付难题&#xff0c;如支付失败、支付成功后订单被取消&#xff0c;更有甚者&#xff0c;账号遭遇封禁。许多朋友误以为这仅仅是支付卡的问题&#xff0c;但实…

Lua收集请求日志

Kafka搭建 单机版的kafka搭建非常简单&#xff0c;不过我们今天采用Docker搭建kafka。Kafka使用Zookeeper存储Consumer、Broker信息&#xff0c;安装kafak的时候&#xff0c;需要先安装Zookeeper。 Zookeeper安装&#xff1a; docker run -d --name zookeeper -p 3181:3181 …

k8s-pod 实战二 (Pod 重启策略、探针及实现方式详解)

Pod 重启策略、探针及实现方式详解 在 Kubernetes 中,Pod 的重启策略和探针是确保应用高可用性和健壮性的重要机制。以下大纲将详细介绍 Pod 的重启策略、三种探针及其实现方式,并通过具体命令和实战案例帮助你更好地理解这些概念。 1. Pod 重启策略 Kubernetes 提供三种重…