性能测试怎么入门?一文7个知识点带你成功入门!

一、相关概念

1、性能测试相关:负载测试,性能测试,压力测试,稳定性测试,全链路测试等

2、性能指标:吞吐率,tps,并发用户数,吞吐量,响应时间等

二、性能测试

1、概念解析:通过工具,找出或者获得系统在不同工况下的性能指标值。主要使用性能测试工具(jmeter,loadrunner等)或者代码

1.1 找出:产品在第一次做性能测试的时候,找出性能指标值(有多个值)

1.1.1 找出后:这些指标值如果不满足预期,预期某个性能指标值大于我们实际测试出来的指标值,这个时候,需要定位,分析,调优

1.2 获得:产品非第一次做性能测试,再已有性能指标的基础上,再次进行性能测试,对比两次测试结果。

1.2.1 利用性能测试工具,使用不同的方式模拟多用户并发。

1.2.1.1 性能测试(服务器端的性能测试),要多用户调用服务的接口来进行性能测试

  (1)多用户:性能测试,不能用单用户请求(并发用户不能是一个)

  (2)用户信息可以是一个也可以是多个,但是一般情况下,我们用多个不同的用户信息。

注意:性能测试结果是性能指标值,指标值满足要求,可以写性能测试报告,性能测试可以结束,不满足,通过这些指标值进行定位,分析与调优

2、广义与狭义

2.1 广义性能测试:只要与性能测试相关的测试

2.2 狭义性能测试:只是找出或验证性能测试指标(现在做的性能测试都是狭义性能测试)

2.3 广义并发:同一时间发起请求(现在的性能测试一般都是广义并发)

2.4 狭义并发:同一时间发起相同的请求

三、负载测试

1、概念:通过逐步增加并发用户数,看服务器最大可承受的并发用户区间

1.1 并发用户数:性能测试的原动力,模拟多人发送请求

1.2 通过开始区间,慢慢缩小这个区间,得出最大可接受的并发用户数

难点:怎么看出超出了最大处理能力(后面会分析)

1.3 二八原则:80%的请求,发生在20%的时间里

例:假设你们产品 日均访问量 500w次 -----一天内访问网站的次数 500w / 24 / 3600 ====得出1秒钟访问的次数 每秒钟 访问58次

(500w*0.8 )/ (24*0.2 *3600) 二八原则 80%的请求,发生在20%的时间里

400w / 17280 == 232 每秒钟访问了232次---服务器每秒要处理232次请求----TPS 假设人是1秒钟发1次,----232个人

1.4 预估并发用户的思路

(1)生产环境的日均访问量进行换算
  (2)看生产环境监控,监控中,最大请求那段时间段的并发数
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

四、压力测试

1、概念:在一定量的并发请求下,持续运行一个比较长的时间,来看服务器的稳定性。

1.1 时间:一般以小时为单位

1.2 一旦服务器有宕机的问题,要做压力测试,一般,先用比较小的并发用户数,然 后再用比较大的并发用户数(相对最大可接受的并发用户数)

注意:企业一般所说的压测是负载加性能测试,不是压力测试

五、压测

1、概念:压测并不是我们所说的压力测试,也不是我们概念中的性能测试,在企业中一般是负载测试与性能测试的结合。

2、操作:压测的真是意思是需要去做一个完整的性能测试

2.1 先做负载测试,再做性能测试,通过负载测试得到最大可接受的并发用户数,然后用这个最大并发用户数进行性能测试,得到我们的指标值,即压测=负载测试+性能测试

六、稳定性测试

1、概念:通过一定量的并发用户数,向服务器发起请求,查看一段时间后,服务器是否还稳定运行。

2、稳定性测试与压力测试的区别

2.1 区别点:并发用户的多少,稳定性测试可能只需要用到最大并发用户数的20%,但是压力测试需要用到20%,40%,80%逐级递增

2.2 稳定性:主要是因为在一定量的并发用户数,持续运行一个比较长的时间段内,服务器会占用比较多的资源,如果在这段时间内,我占用的资源能够及时回收,那么服务器就不会有宕机的风险,如果不能及时的回收资源,那么资源就会越占用越多,最后超出服务器可承受的极限,会导致资源不足,服务宕机。

  2.2.1 任何一个软件或者服务启动,都会占用一定量的资源(内存),这个量在启动时,已经确定,那么这个软件,在它的生命周期内,都是使用这个一定量的资源。如果这个时候软件因为内存不够而异常,则称为内存溢出

  2.2.2 一台服务器,它的资源是有限的,你现在开启的服务非常多,每一个服务都要占用一定量的资源,可能导致,整个机器资源不足,导致机器宕机。

七、容量测试

1、概念:在一定软,硬件条件下,在数据库不同数量级数据量的情况下,对系统中,读写比较多的业务进行测试,从而获得不同数据量级下的性能指标值。

  1.1 不同数据量级:数据库表中的数据总量

  1.2 数据量级:a.我们可以根据生产数据库的数据量级来确定 b.根据产品未来的一个发展趋势来预估

2、前面讲的性能测试,使用最大用户并发数进行性能测试,其实隐藏了一个默认的条件,数据库表的容量,在你预估的一个数据量内

八、总结

企业中性能测试,一般,先做负载测试,得到最大可接受的并发用户数,再通过这个最 大可接受的并发用户数,进行性能测试,得到性能测试指标值,再根据这个指标值,判断是否符合预期,符合,则测试结束,如果不符合,则需要进行问题定位、分析与调优。一般最后再做压力测试,来测试服务器的稳定性

END今天的分享就到此结束了,点赞关注不迷路~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/184750.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word办公小技巧:方框打勾、上下标、横隔线、排序

Word文件制作过程中,需要了解一些可以提高效率的小技巧帮助我们能够更快的完成工作,今天分享四个提高效率的小技巧 技巧一:方框内打√ 想要在word文件中设置出方框内√,的效果,在word文件中输入: ☑&…

cortex-A7核IIC实验--采集温湿度传感器的值

1.IIC总线---同步串行半双工 1)一根数据线SDA--PF15,一根时钟线SCL--PF14 2)传输速率:低速:100K 中速:400K 全速:3.4M 3)外接两个上拉电阻的作用:总线空闲状态时&am…

图神经网络(GNN)性能优化方案汇总,附37个配套算法模型和代码

图神经网络的表达能力对其性能和应用范围有着重要的影响,是GNN研究的核心问题和发展方向。增强表达能力是扩展GNN应用范围、提高性能的关键所在。 目前GNN的表达能力受特征表示和拓扑结构这两个因素的影响,其中GNN在学习和保持图拓扑方面的缺陷是限制表…

esxi 6.7下安装黑裙

esxi上创建一个黑裙系统的虚拟机,用来存资料 一、工具 硬件: 工控机:装有esxi6.7系统(192.168.100.2),配置:3865U,16G内存,120Gmsata120sata硬盘,6个网口 主…

JavaEE-博客系统3(功能设计)

本部分内容为:实现登录功能;强制要求用户登录;实现显示用户信息;退出登录;发布博客 该部分的后端代码如下: Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws Ser…

Harmony OS—UIAbility的使用

概述 UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。一个应用可以有一个UIAbility,也可以有多个UIAbility,类似于Android 的 Activity&#xff0c…

微服务-grpc

微服务 一、微服务(microservices) 近几年,微服这个词闯入了我们的视线范围。在百度与谷歌中随便搜一搜也有几千万条的结果。那么,什么是微服务 呢?微服务的概念是怎么产生的呢? 我们就来了解一下Go语言与微服务的千丝…

ConcurrentHashMap 源码解析

目录 一. 前言 二. 源码解析 2.1. 类结构 2.2. 基本属性 2.3. 构造方法 2.4. 增加元素 2.4.1. initTable() 2.4.2. helpTransfer() 2.4.3. transfer() 2.4.4. treeifyBin() 2.4.5. addCount() 2.5. 获取元素 2.6. remove() & replace() 2.7. clear() 2.8. s…

Leetcode—2578.最小和分割【简单】

2023每日刷题&#xff08;二十三&#xff09; Leetcode—2578.最小和分割 实现代码 class Solution { public:int splitNum(int num) {vector<int> a;while(num) {a.push_back(num % 10);num / 10;}int n a.size();sort(a.begin(), a.begin() n);int num1 0;int num…

AI全栈大模型工程师(十九)Semantic Kernel

文章目录 Semantic KernelSK 的开发进展SK 的生态位SK 基础架构后记 Semantic Kernel 先比较下 Semantic Kernel 和 LangChain。 Semantic KernelLangChain出品公司微软LangChain AI支持语言Python、C#、Java、TypeScriptPython、TypeScript开源协议MITMIT被应用在Microsoft …

使用ffmpeg调用电脑自带的摄像头和扬声器录制音视频

1、打开cmd&#xff0c;执行chcp 65001,修改cmd的编码格式为utf8&#xff0c;避免乱码 2、执行指令ffmpeg -list_devices true -f dshow -i dummy,查看当前window的音频和视频名称 3、打开windows系统的"打开声音设置"–“麦克风隐私设置”–"允许应用访问你…

扫码看视频是怎么做出来的?二维码加入视频的做法

视频用二维码来展示的方法是什么样的呢&#xff1f;相信大家在日常工作和生活中都遇到过&#xff0c;扫描二维码来观看视频的情况&#xff0c;那么视频存入二维码的方法是什么样的呢&#xff1f;下面来给大家分享一下具体的操作技巧&#xff0c;通过简单的步骤就可以快速完成二…

C++ string赋值和添加值

在MFC中使用C的string&#xff0c;要先#include <string>&#xff0c;然后&#xff0c;std::string s2("") 这样就可以了&#xff1b; void CStrnewView::OnDraw(CDC* pDC) {CStrnewDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for n…

SOLIDWORKS --流体仿真篇

SIMULIA流体仿真是什么? 模拟并预测复杂环境下围绕和穿过实体和结构的稳态及瞬态的内外部流(包括热传递)&#xff0c;例如湍流气流、颗粒运动、表面沉积等 .提供定性、定量以及可视化的分析手段,可实现多尺度多物理的视觉效果 SIMULIA流体仿真能做什么? 1.高效的仿真前处理…

NeRF神经辐射场渲染过程详解,三维重建渲染过程基本原理_光线采样sample_pdf()和光线渲染render_rays ()代码详解

目录 1 神经辐射场 1.1 基本原理 1.2 基本流程 1.3 数学解释 2 三维场景图像渲染详解 2.1射线采样 2.2 NeRF 模型预测 2.3 体积渲染 3 采样与渲染代码详解 &#xff08;rending.py&#xff09; 3.1 神经体积渲染代码解析 3.2 sample_pdf 函数 3.3 render_rays 函数 …

昇腾CANN 7.0 黑科技:DVPP硬件加速训练数据预处理,友好解决Host CPU预处理瓶颈

在NPU/GPU上进行模型训练计算&#xff0c;为了充分使用计算资源&#xff0c;一般采用批量数据处理方式&#xff0c;因此一般情况下为提升整体吞吐率&#xff0c;batch值会设置的比较大&#xff0c;常见的batch数为256/512&#xff0c;这样一来&#xff0c;对数据预处理处理速度…

爬虫项目-爬取股吧(东方财富)评论

1.最近帮别人爬取了东方财富股吧的帖子和评论&#xff0c;网址如下&#xff1a;http://mguba.eastmoney.com/mguba/list/zssh000300 2.爬取字段如下所示&#xff1a; 3.爬虫的大致思路如下&#xff1a;客户要求爬取评论数大于5的帖子&#xff0c;首先获取帖子链接&#xff0c…

Modelsim 使用教程(5)——Analyzing Waveforms

一、概述 Wave窗口允许我们以HDL波形和数据的形式查看仿真结果。Wave窗口被划分为多个窗格。通过单击并在任意两个窗格之间拖动该条&#xff0c;可以调整路径名窗格、值窗格和波形窗格的大小。 二、加载一个设计&#xff08;Loading a Design&#xff09; 1、打开modelsim 2、…

关于卷积神经网络的填充(padding)

认识填充 &#xff08;padding&#xff09; 随着卷积层数的加深&#xff0c;输出进一步缩小&#xff0c;那么最终会导致输出很快就只剩下1∗1的数组&#xff0c;这也就没办法继续计算了&#xff0c;所以提出了填充的方法来方便网络的进一步加深。 其实填充的原因有两点&#xf…

Flume从入门到精通一站式学习笔记

文章目录 什么是FlumeFlume的特性Flume高级应用场景Flume的三大核心组件Source&#xff1a;数据源channelsink Flume安装部署Flume的使用案例&#xff1a;采集文件内容上传至HDFS案例&#xff1a;采集网站日志上传至HDFS 各种自定义组件例如&#xff1a;自定义source例如&#…