29 | 聊聊性能测试的基本方法与应用领域

news2024/11/17 17:24:14

并发用户数、响应时间、系统吞吐量之间的关系

        当系统并发用户数较少时,系统的吞吐量也低,系统处于空闲状态,这个阶段被称为 “空闲区间”

     并发用户数进一步增长,系统的处理能力逐渐趋于饱和,因此每个用户的响应时间会逐渐变长。整体吞吐量并不会随着并发用户数的增长而继续呈线性增长。这个阶段被称为系统的“拐点”

        随着系统并发用户数的增长,系统处理能力达到过饱和状态。此时,如果继续增加并发用户数,最终所有用户的响应时间会变得无限长。相应地,系统的整体吞吐量会降为零,系统处于被压垮的状态。这个阶段被称为“过饱和区间”

        后端性能测试的测试负载,一般设计在“线性增长区间”内;而压力测试的测试负载,会设计在系统“拐点”上下,甚至是“过饱和区间”。

常用的七种性能测试方法

后端性能测试:通过性能测试工具模拟大量的并发用户请求,然后获取系统性能的各项指标,并且验证各项指标是否符合预期的性能需求的测试手段。

前端性能测试:前端性能关注的是浏览器端的页面渲染时间、资源加载顺序、请求数量、前端缓存使用情况、资源压缩等内容,希望借此找到页面加载过程中比较耗时的操作和资源,然后进行有针对性的优化,最终达到优化终端用户在浏览器端使用体验的目的。

        优化规则:减少 http 请求次数、减少 DNS 查询次数、避免页面跳转、使用内容分发网络(CDN)、Gzip 压缩传输文件

代码级性能测试:代码级性能测试,是指在单元测试阶段就对代码的时间性能和空间性能进行必要的测试和评估,以防止底层代码的效率问题在项目后期才被发现的尴尬。

        测试方法:改造单元测试框架。

        将原本只会执行一次的单元测试用例连续执行 n 次,这个 n 的取值范围通常是 2000~5000;

        统计执行 n 次的平均时间。如果这个平均时间比较长(也就是单次函数调用时间比较长)的话,比如已经达到了秒级,那么通常情况下这个被测函数的实现逻辑一定需要优化

压力测试:通常指的是后端压力测试,一般采用后端性能测试的方法,不断对系统施加压力,并验证系统化处于或长期处于临界饱和阶段的稳定性以及性能指标,并试图找到系统处于临界状态时的主要瓶颈点

配置测试:主要用于观察系统在不同配置下的性能表现。

并发测试:在同一时间,同时调用后端服务,期间观察被调用服务在并发情况下的行为表现,旨在发现诸如资源竞争、资源死锁之类的问题

可靠性测试:验证系统在常规负载模式下长期运行的稳定性。

性能测试的四大应用领域

能力验证:验证“某系统能否在 A 条件下具有 B 能力”

能力规划:如何才能使系统达到要求的性能和容量

性能调优:解决性能测试过程中发现的性能瓶颈的问题。通常会涉及多个层面的调整,包括硬件设备选型、操作系统配置、应用系统配置、数据库配置和应用代码实现的优化等等。

缺陷发现:发现诸如内存泄露、资源竞争、不合理的线程锁和死锁等问题

各个应用领域需要用到的测试方法

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

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

相关文章

2023全国大学生数学建模竞赛A题思路模型代码

目录 一.选题建议先发布,思路模型代码论文第一时间更新,获取见文末名片 二.选题建议,后续思路代码论文 A 题 定日镜场的优化设计 各题分析 获取完整思路代码见此处名片 一.选题建议先发布,思路模型代码论文第一时间更新&…

五大优化技巧,让你的视频直播app源码更加流畅

优化技巧一:性能调优 视频直播app源码在确保流畅体验方面是至关重要的。为了提升性能,以下是几项关键的优化技巧: 使用轻量级编码器和解码器:选择高效的编码器和解码器,以减少资源占用,并确保视频流畅播放…

2023全国大学生数学建模ABCDE选题建议,思路模型,小白要怎么选?难度怎么样

首先最重要的&#xff0c;难度C<B<A&#xff0c;D、E题推荐选E题 大家可以查看我们的视频讲解&#xff0c;在这里&#xff1a;【2023全国大学生数学建模竞赛选题建议&#xff0c;难度分析&#xff0c;小白应该怎么选】 https://b23.tv/S6O26uc 选题建议视频播放​b23.t…

Matlab如何导入Excel数据并进行FFT变换

如果你发现某段信号里面有干扰&#xff0c;想要分析这段信号里面的频率成分&#xff0c;就可以使用matlab导入Excel数据后进行快速傅里叶变换&#xff08;fft&#xff09;。 先直接上使用方法&#xff0c;后面再补充理论知识。 可以通过串口将需要分析的数据发送到串口助手&a…

【1++的数据结构】之哈希(一)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的数据结构】 文章目录 一&#xff0c;什么是哈希&#xff1f;二&#xff0c;哈希冲突哈希函数哈希冲突解决 unordered_map与unordered_set 一&#xff0c;什么是哈希&#xff1f; 首先我们要…

(3)MyBatis-Plus待开发

常用注解 TableName MyBatis-Plus在确定操作的表时&#xff0c;由BaseMapper的泛型决定即实体类型决定&#xff0c;且默认操作的表名和实体类型的类名一致,如果不一致则会因找不到表报异常 //向表中插入一条数据 Test public void testInsert(){User user new User(null, &…

Android 10.0 禁用adb shell input输入功能

1.前言 在10.0的产品开发中,在进行一些定制开发中,对于一些adb shell功能需要通过属性来控制禁止使用input 等输入功能,比如adb shell input keyevent 响应输入事件等,所以就需要 熟悉adb shell input的输入事件流程,然后来禁用adb shell input的输入事件功能,接下来分…

yolov7添加注意力机制

yolov7结构图 方法:直接在common里改,在相关的后面加上就行 1、接受通道数的注意力机制 1、目的:在三个输出地方添加注意力 yolov7.yaml文件,换成其他模块 注意力链接 2、models下建SE.py 3、common.py下,先找class Conv,再复制一份修改,把模块导进来 4、yolo.…

生成式AI时代的新基础设施

生成式人工智能席卷了科技行业。 2023 年第一季度&#xff0c;随着数亿用户采用 ChatGPT 和 GitHub CoPilot 等应用程序&#xff0c;对新一代 AI 初创公司的投资高达 1.7B 美元。 技术领先的公司正在争先恐后地制定自己的生成式AI策略&#xff0c;许多公司都在努力将应用程序投…

基于Java+SpringBoot+Vue前后端分离校园资产管理设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

45位主播带货破亿,单日热销100w+单,8月榜单有哪些看点?

根据抖音官方数据&#xff0c;截至2021年1月&#xff0c;抖音在全球范围内的日活用户已经超过7亿。 从娱乐到学习&#xff0c;从社交到购物&#xff0c;抖音成为了人们生活中不可或缺的一部分。 那么&#xff0c;8月有哪些主播表现突出&#xff0c;哪些商品在畅销&#xff0c;哪…

【内存管理】C与C++的内存管理异同点

C/C程序内存区域划分 栈又称堆栈&#xff1a;存放非静态局部变量/函数参数/返回值等等&#xff0c;栈是向下增长的。内存映射段&#xff1a;高效的I/O映射方式&#xff0c;用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存&#xff0c;做进程间通信。堆&…

NATAPP使用详细教程(免费隧道内网映射)

NATAPP - https://natapp.cn/tunnel/lists NATAPP 在开发时可能会有将自己开发的机器上的应用提供到公网上进行访问&#xff0c;但是并不想通过注册域名、搭建服务器&#xff1b;由此可以使用natapp&#xff08;内网穿透&#xff09; 购买免费隧道 修改隧道配置 看自己的web…

RTMP流媒体服务器EasyDSS视频点播平台在不关闭防火墙的情况下平稳部署的具体步骤

EasyDSS视频直播点播平台提供了视频转码、点播、直播、推拉流、录像、回放等功能&#xff0c;可应用在AR、VR、无人机推流、虚拟直播、教育培训、远程会议等多样化的场景中。 通常我们在部署EasyDSS时都建议用户关闭防火墙的&#xff0c;但是也有无需关闭防火墙的部署办法&…

4、nginx 配置实例-反向代理

文章目录 4、nginx 配置实例-反向代理4.1 反向代理实例一4.1.1 实验代码 4.3 反向代理实例二4.3.1 实验代码 【尚硅谷】尚硅谷Nginx教程由浅入深 志不强者智不达&#xff1b;言不信者行不果。 4、nginx 配置实例-反向代理 4.1 反向代理实例一 实现效果&#xff1a;使用 nginx…

为什么有的测试员路越走越窄?原因在这里

常常在思考&#xff1a;同样背景&#xff0c;同样学历的人&#xff0c;为什么有的人路越走越宽&#xff0c;而有的人路越走越窄&#xff1f; 不能简单归结于性格和运气&#xff0c;看似偶然实则必然。 不善学习 学习才能使我们内心强壮&#xff0c;充满自信。 然而&#xff…

[machine Learning]强化学习

强化学习和前面提到的几种预测模型都不一样,reinforcement learning更多时候使用在控制一些东西上,在算法的本质上很接近我们曾经学过的DFS求最短路径. 强化学习经常用在一些游戏ai的训练,以及一些比如火星登陆器,月球登陆器等等工程领域,强化学习的内容很简单,本质就是获取状…

C++信息学奥赛1191:流感传染

一开始的代码自己运行测试代码怎么测试都是正确&#xff0c;但是一直提示答案错误 #include <iostream> using namespace std; int main() {int n;cin >> n;char arr[n][n];for (int i 0; i < n; i){for (int j 0; j < n; j){cin >> arr[i][j];}}in…

Netty—EventLoop

文章目录 一、EventLoopGroup 是什么&#xff1f;&#x1f914;️二、NioEventLoop 有哪些重要组成部分&#xff1f;&#x1f50d;三、NioEventLoop 的 thread 在何时启动&#xff1f;三、 run() 方法中线程在干嘛&#xff1f; 一、EventLoopGroup 是什么&#xff1f;&#x1f…

纯源码程序的执行

QT Creator本身是个IDE安装的时候根据自己需要配置的又有对应的编译器&#xff0c;因此编写普通的程序也不再话下。 选择Non-Qt Project工程&#xff0c;并在右侧根据自己的需要选择C应用还是C应用 新工程中工程管理文件和代码如下&#xff1a; 执行结果如下