2023从0开始学性能(1) —— 性能测试基础【持续更新】

news2025/2/26 22:28:57

背景

不知道各位大佬有没遇到上面的情况,性能这个东西到底是什么,还是以前的358原则吗?明显并不是适用于现在了。多次想踏入性能测试门槛都以失败告终,这次就以系列的方式来督促自己真正踏进性能测试的门槛。

什么是性能测试

通过一定的手段(工具、代码等在并发情况下获取系统的各项性能指标,验证被测系统在高并发下的处理能力、稳定性等是否可以满足我们对系统的预期。

什么样的系统才需要做性能测试

毕竟我也没真做过,在网上搜集了一下,总结如下:

  1. 用户量大,日活很高的系统

  2. 系统核心模块/核心接口

  3. 业务逻辑复杂的模块

  4. 新的技术选型

  5. 电商类项目促销和活动

  6. 性能容量评估及规划

  7. 日常性能回归

性能测试重要指标TPS

「什么是TPS?」

其实就是每秒服务器能处理的事务数。自然是单位时间内处理的越多越好。

「那事务又是什么呢?(曾经一次面试就被问过,当时一脸懵逼)」

事务可以是一个业务操作,也可以是多个业务操作的集合,这取决于你想怎么定义。

这里举一个曾经在组里说过的例子,就用吃饭来说吧。吃饭这个动作可以是一个事务。从办公室走出去,再到食堂、打饭、坐下、拿筷子、吃饭,这一连串的动作也可以认为是一个事务。每一个动作都可以当成是系统的一个接口,组合在一起就是一个大的事务。

时间

性能测试中时间肯定就是金钱啊,这个时候就需要你越快越好了。这里常用的指标有响应时间、平均响应时间和top时间。在解释这些时间前,我们先看一下系统的流程是什么样的。

「响应时间」就是 网络传输的时间 + 各个环节业务处理时间

「平均响应时间」 就是整个过程中所有请求消耗时间的平均值

「top时间」分为90% 95% 99%,这些可以在聚合报告中看到。

那这三个时间就是响应时间*90%吗?并不是的。实际的意义是90%的请求耗时都低于的一个时间,一般用的最多的就是95%。

「为什么不采用平均时间,而要再弄个95%响应时间呢?」

因为平均响应时间在性能测试中并不完全可靠,如果有10个请求,最快的一个耗时100ms,最慢的一个耗时500ms,其他8个都在300ms左右,那么平均响应时间为300ms左右,你会觉得有什么大问题吗?如果只看平均响应时间,这个500ms耗时的接口你就会无法关注到,也就错失了性能测试发现的问题。

其他的一些指标

并发数:简单理解就是工具中设置的线程或者进程数量。

PV:页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次。可以统计服务一天的访问日志得到。

UV: 独立访客,也可以称之为日活,统计1天内访问某站点的用户数。可以统计服务一天的访问日志并根据用户的唯一标识去重得到。

成功率及失败率:就是整个测试过程中接口请求成功的数量/失败的数量  除以 总请求数

「吞吐量」:吞吐量是指系统在单位时间内处理请求的数量,TPS是吞吐量的常用量化指标。TPS越高,吞吐量越大。

对于并发数、TPS、响应时间的关系,我决定自绘一幅灵魂画作。

「由图可以得知」:在系统到达瓶颈前,并发数和TPS是成正比关系,吞吐量也随着TPS的增大,越来越大。

TPS = 并发数 / 响应时间(s)   「该公式在任何情况都可以计算TPS,面试可能会问」

看完这个是不是还是不明白,不明白就对了。

举个例子来说吧。假设要测试的是一个工厂,原本有10个工人,现在我们增加产线工人(也就是并发数),刚开始一段时间,每条生产线的产量都是越来越高。但是当工人达到一定数量时(瓶颈),一条产线就能挤得下那么多人,给你10000个人也只能在那排队等干货,所以产量不会再继续增大了。图上的这个曲线拐点就是我们想要寻找的结果。

TPS(工厂的每秒生产数量) = 并发数(工人数) / 响应时间(工人生产一件商品的时间)

这样看起来是不是就好理解多了。TPS和响应时间是反比的关系,工人数不变,工人生产的效率高了,时间短了,TPS就越高。

总结

其实上面这些百度都能找到,但是性能这些概念太多太杂,真的要好好过滤一下才行。下一篇水一下性能测试的流程吧。

 绵薄之力【资源分享】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

九龙证券|机制改革激发转融券活力 全面注册制释放两融展业新空间

在全面注册制准则规矩正式发布的同时,修订后的转融通事务规矩也应约与商场碰头。2月17日,中证金融发布《中国证券金融公司转融通事务规矩(试行)(2023年修订)》等规矩(简称“转融通新规”&#x…

操作系统(day12)-- 虚拟内存;页面分配策略

虚拟内存管理 虚拟内存的基本概念 传统存储管理方式的特征、缺点 一次性: 作业必须一次性全部装入内存后才能开始运行。驻留性:作业一旦被装入内存,就会一直驻留在内存中,直至作业运行结束。事实上,在一个时间段内&…

秒杀系统设计

1.秒杀系统的特点 瞬时高并发 2.预防措施 2.1.流量限制 对于一个相同的用户,限制请求的频次对于一个相同的IP,限制请求的频次验证码,减缓用户请求的次数活动开启之前,按钮先置灰,防止无效的请求流入系统&#xff0…

企业数智化转型在即,看看低代码软件公司如何做!

在信息爆炸的现代社会中,利用先进技术为企业提升办公协作效率,是一件事半功倍的事。当前,数字化转型升级已经是发展趋势,不少企业已经在朝着数智化转型方向迈进。作为一家低代码软件公司,流辰信息看到了市场发展前景&a…

想玩好ChatGPT?不妨看看这篇文章

相信点进来的铁汁,此时已经对 ChatGPT 有所了解,并想上手体验一番 首先大伙儿要注意,不要被骗了。 现在很多商家提供的 ChatGPT 服务,不仅价格奇高,而且据我所知,有些压根不是 ChatGPT 。 想玩最好去官网注册,具体方法大伙自个儿查一查嗷。 怎么用好 ChatGPT 虽然 …

vue uniapp 微信小程序 搜索下拉框 模糊搜索

vue uniapp 微信小程序 搜索下拉框 模糊搜索 话不多说 直接贴代码 template <template><view class"index"><view class"index_top"><view class"list_text"><view class"list_top_title"><text cl…

真我air笔记本电脑怎么重装Win10系统?

真我air笔记本电脑怎么重装Win10系统&#xff1f;最近真我air笔记本电脑挺多用户购买的&#xff0c;因为这款电脑性价比比较高&#xff0c;适合学生和一些办公人员来使用。但是系统预制了Win11系统&#xff0c;有用户想要将系统重装到Win10来使用。那么如何去进行系统的重装呢&…

【深度学习编译器系列】2. 深度学习编译器的通用设计架构

在【深度学习编译器系列】1. 为什么需要深度学习编译器&#xff1f;中我们了解到了为什么需要深度学习编译器&#xff0c;和什么是深度学习编译器&#xff0c;接下来我们把深度学习编译器这个小黑盒打开&#xff0c;看看里面有什么东西。 1. 深度学习编译器的通用设计架构 与…

易语言中控开发

效果展示 demo下载 点击下载 需要实现功能 服务端和客户端的连接客户端向服务端发送数据服务端向客户端发送数据中控一对多控件设置 1.服务端和客户端的连接 1.新建服务端.e 2.新建客户端.e 3.服务端启动窗口增加组件:服务器 4.客户端启动窗口增加组件:客户端 5.设置服务器…

python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()]

python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()] 效果图如下所示&#xff1a; 就是这个样子&#xff0c;一般比较少见将柱形图从上往下绘制的。可能是会为了更好的展示数据对比结果吧。这里绘图的主要思路如下&#xff1a; 利用ax.twinx()这个函数生成一个新的x轴…

横板格斗类游戏实战:游戏数值策划表

游戏数值表在游戏设计中非常的关键&#xff0c;策划可以通过表格工具与表格公式来做好游戏的数值&#xff0c;程序当表格是一个配置文件&#xff0c;直接读入数据即可。游戏数值策划表是数值策划与程序沟通对接的主要的方式, 所以对项目开发来说非常重要。 对啦&#xff01;这…

工业树莓派和PLC怎么选?

一、 什么是虹科工业树莓派 1、树莓派 在了解虹科工业树莓派之前&#xff0c;首先要了解一下什么是树莓派。树莓派是一款基于ARM的小型电脑&#xff0c;在树莓派上提供丰富的接口&#xff0c;能够实现较多功能。它同样是开发人员的最爱&#xff0c;其搭载Linux系统&#xff0…

2023年,智能家居实体门店如何选品?

作者 | 启明 编辑 | 小沐 出品 | 智哪儿 zhinaer.cn2023年&#xff0c;是智能家居实体门店的机会与破局之年&#xff0c;作为智能家居实体门店老板&#xff0c;我们应该具备什么样的增长思维呢&#xff1f;上篇文章智哪儿谈了智能家居增长思维之流量思维 &#xff0c;这篇文章我…

实时渲染新技术能给业主带来哪些价值?点量云

目前在数字孪生三维可视化项目领域&#xff0c;本地部署和Webgl方案是使用比较多的。本地部署方案&#xff0c;根据项目的需要配备几台高性能电脑&#xff0c;在电脑上安装相应的三维可视化模型即可&#xff0c;通常使用的频率不是很高。而Webgl方案&#xff0c;相比本地部署&a…

数字经济讨论题

自2001年以来&#xff0c;Alphabet&#xff08;Google&#xff09;已进行了200多次并购。下面列出了并购年份。选择Alphabet进行的三笔并购讨论这些并购是如何使Alphabet拥有新的或增强的现有业务领域重要的是考虑何时进行所选择的收购。谷歌已经从一家提供互联网搜索引擎的公司…

制造企业为何要上数字化工厂系统?

以目前形势来看&#xff0c;数字化转型是制造企业生存的关键&#xff0c;而数字化工厂管理系统是一个综合性、系统性的工程&#xff0c;波及整个企业及其供应链生态系统。数字化工厂系统所要实现的互联互通系统集成、数据信息融合和产品全生命周期集成&#xff0c;将方方面面的…

火热报名 | DockQuery 1.2 beta版本体验官开启招募!

DockQuery是什么&#xff1f; DockQuery 代号「天狼」&#xff0c;是图尔兹全新自研的一款专业新型数据库桌面客户端&#xff0c;专为信创背景下国内外数据库开发/管理而设计&#xff0c;全面覆盖信创数据库目录、支持国内外操作系统。 目前&#xff0c;DockQuery 仅以社区版…

运动版蓝牙耳机什么牌子的好、运动款蓝牙耳机推荐

何以解忧&#xff1f;唯有运动。事实已经无数次证明&#xff0c;运动不但可以让你更瘦身、更紧实&#xff0c;更重要的是精神状态也能焕然一新。不知道各位是不是也跟我一样&#xff0c;喜欢在运动的时候听着音乐。但是听音乐就需要有好的续航&#xff0c;否则运动一半没电了&a…

Netty核心原理(线程模型、核心API)与入门案例详解

Netty核心原理&#xff08;线程模型、核心API&#xff09;与入门案例详解 文章目录Netty核心原理&#xff08;线程模型、核心API&#xff09;与入门案例详解Netty 介绍原生 NIO 存在的问题概述线程模型线程模型基本介绍传统阻塞 I/O 服务模型Reactor 模型单 Reactor 单线程Nett…

计算机四级 [操作系统] | 选择题 2 重点标注版

1.某一个单道批处理系统几乎同时依次到达4个作业&#xff0c;这4个作业的预计运行时间分别为8、4、4和4分钟&#xff0c;按照短作业优先的调度算法运行&#xff0c;请问该批作业的平均周转时间为多少 B A. 14分钟 B. 11分钟 C. 20分钟 D. 10分钟 2.下列与进程具有一一对应的关…