项目实战一-性能测试筑基

在这里插入图片描述

这里写目录标题

  • 一、为什么程序会出现性能问题、性能问题是怎么出现的?
  • 二、功能测试和性能测试的区别是什么?
  • 三、核心性能指标
    • 1、用户角度核心
      • a、响应时间:
      • b、并发量
    • 2、成本角度
    • 3、运维角度
    • 面试题、并发量和吞吐量得区别?
      • a、吞吐量
      • b、并发量
  • 四、性能测试核心三步骤
    • 1、性能需求
      • a、学会梳理需求
      • b、业务场景:
      • c、性能指标
      • d、性能测试执行思路(用例)
    • 2、执行性能测试
    • 3、性能结果分析

一、为什么程序会出现性能问题、性能问题是怎么出现的?

任何程序的运行都需要资源(CPU、内存、磁盘、网络)
资源不是无限的

  • 程序运行就会受限
  • 每一个请求后端处理都占用资源
  • 一个图片查看请求
    在这里插入图片描述

在这里插入图片描述

二、功能测试和性能测试的区别是什么?

在这里插入图片描述

三、核心性能指标

TPS
QPS
HPS
RT(响应时间)
错误率
并发量

1、用户角度核心

a、响应时间:

一次操作的完成时间
等待处理+处理时间

在这里插入图片描述

b、并发量

相对并发和绝对并发的区别

线程数=绝对并发
发起请求之后,会继续请求
一个请求500ms完成,又发起一个请求500ms完成
此时:1个线程——》2个并发/s——》相对并发

一个线程在单位时间内(秒)发起的总共请求数量 = 相对并发

2、成本角度

资源占用率
在这里插入图片描述

3、运维角度

吞吐量:一进一出;输入——》处理——》输出
QPS:

每秒查询率
针对查询类请求处理,每秒能处理多少查询,数据库中不涉及修改数据

TPS

每秒处理的事务数
涉及数据变更的操作——》从数据库微观——》事务,多个操作
反应程序的处理能力综合体现:TPS越大越好

面试题、并发量和吞吐量得区别?

a、吞吐量

是指系统在单位时间内能够处理的请求数量或事务数量。它常用于评估系统的性能和容量。
在软件测试领域,吞吐量通常用来衡量系统在一定负载下能够处理的请求或事务的数量。对于一个高并发的系统,吞吐量的大小直接关系到系统的性能和稳定性
例如,一个电商网站每秒钟能够处理100个订单,那么它的吞吐量就是100 TPS(Transactions Per Second)。另一种计算方式是通过每秒钟处理的请求数量来衡量。

在进行性能测试时,我们通常会通过模拟真实用户的行为或者生成大量的请求来测试系统的吞吐量。通过监测系统在不同负载下的吞吐量,可以评估系统的性能瓶颈、优化效果以及系统是否能够承受预期的工作量。

b、并发量

是指系统能够同时处理的请求数量或事务数量。它描述了系统在同一时间段内可以同时执行的任务数。

在软件测试和系统设计中,并发量是一个重要的指标,用来衡量系统的并发处理能力和性能。并发量通常与系统的资源、线程数量以及处理能力相关。
用户并发量:表示系统能够同时处理的用户请求或并发连接数量。例如,一个Web服务器能够同时处理1000个并发用户请求,那么它的并发量就是1000。

并发量对于系统设计和性能优化非常重要。如果系统的并发量超过了系统所支持的范围,可能会导致系统性能下降、响应时间延长甚至系统崩溃。因此,在进行系统设计和性能测试时,需要充分考虑并发量,并保证系统能够合理处理并发请求,确保系统的稳定性和性能

在这里插入图片描述

四、性能测试核心三步骤

1、性能需求

极端:你给我一个性能报告

全面测试
看起来没有要求,其实全部要求了

a、学会梳理需求

性能测试不能脱离实际需求,所以不论是测试哪一种场景,有哪方面得性能需求,我们在执行测试的时候,都会涉及具体的业务场景

产品经理:比竞品要快一点
在这里插入图片描述

b、业务场景:

app首屏广告加载

c、性能指标

在这里插入图片描述

d、性能测试执行思路(用例)

采用思路2
在这里插入图片描述

2、执行性能测试

在这里插入图片描述

3、性能结果分析

在这里插入图片描述

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

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

相关文章

Centos7安装GItLab(在线版)

基础环境准备 1.配置清华大学镜像仓库 新建仓库配置文件使用 vim /etc/yum.repos.d/gitlab-ce.repo 命令,输入以下内容,保存 [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabl…

【文献阅读笔记】基于自监督的异常检测和定位:SSM

2022 IEEE TRANSACTIONS ON MULTIMEDIA 领域:异常检测 目标:图像输入数据 文章目录 1、模型2、方法2.1、random masking2.2、restoration network2.3、损失函数2.4、推理时的渐进细化 3、实验4、引用5、想法 1、模型 训练: 每个图像实时生成随…

Springboot 使用 阿里的 druid 连接池 启用 wall sql防火墙的情况下怎么支持多sql同时执行?

1、问题如上,看了不少网上的文章,在我这都不生效,网上主要的解决思路有两个。 第一个是:去掉配置文件中的 wall filter # 修改之前 spring.datasource.druid.filtersstat,wall,log4j# 修改之前 spring.datasource.druid.filte…

Zotero 安装及常用插件设置指南

Zotero 安装及常用插件设置指南 本指南旨在帮助用户安装并配置 Zotero。通过本教程,您将能够实现以下功能: 界面语言设置为中文使用颜色标签来区分不同阅读状态的文献重要文献标记显示影响因子、JCP和中科院分区翻译插件Sci-Hub 集成 安装和设置步骤…

【OpenGL】Clion配置

OpenGL简介 OpenGL(Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。OpenGL是行业领域中…

算法——滑动窗口

滑动窗口大致分为两类:一类是窗口长度固定的,即left和right可以一起移动;另一种是窗口的长度变化(例如前五道题),即right疯狂移动,left没怎么动,这类题需要观察单调性(即指针)等各方…

关于随机数的设定和随机噪声

以下是设立随机数和随机噪声的code: 设定随机数的方法有很多,下面代码是通过numpy的API设定随机数,除了numpy,实际上scikit,tf,pytorch都有设定随机数的API的 # Set a random seed for reproducibility(0…

开源播放器GSYVideoPlayer + ViewPager2 源码解析

开源播放器GSYVideoPlayer ViewPager2 源码解析 前言一、GSYVideoPlayer🔥🔥🔥是什么?二、源码解析1.ViewPager2Activity 总结 前言 本文介绍GSYVideoPlayer源码中关于ViewPager2 GSYVideoPlayer 实现的滑动播放列表的实现原理。…

linux 内核regulator

问题 在sys文件系统下没有生成cpu 调频的相关节点。 日志对比 [ 3.588745] cpu cpu4: Looking up cpu-supply from device tree [ 3.588753] cpu cpu4: Failed to get reg [ 3.588791] cpu cpu4: Looking up cpu-supply from device tree [ 3.588808] Failed to i…

C语言练习题

C语言练习题 文章目录 C语言练习题题目一题目二题目三题目四题目五题目六题目八 题目一 #include <stdio.h> //VS2022,默认对齐数为8字节 union Un {short s[7];int n; };int main() {printf("%zd", sizeof(union Un));return 0; }代码运行结果:> 16 sizeo…

MySQL双主双从数据库集群搭建

1 引言 在之前的文章中提到过单主单从的搭建方法&#xff0c;具体请参考《MySQL主从数据库搭建》这篇文章&#xff0c;本文主要讲述双主双从&#xff0c;双主多从集群的搭建方式。 这里要问一个问题&#xff0c;为什么MySQL要搭建数据库集群呢&#xff1f;我想应该有以下几点原…

彻底解决ModuleNotFoundError: No module named ‘exceptions‘【Bug完美解决】

文章目录 项目场景:问题描述原因分析:解决方案:此Bug解决方案总结心得项目场景: 根据本文可找到bug原因并彻底解决**ModuleNotFoundError: No module named ‘exceptions‘**Bug 报错: E:\Anconda\python.exe c:\Users\24190\PycharmProjects\pythonProject4py尝试 gong…

Android textView 显示: STRING_TOO_LARGE

在Android中&#xff0c;字符串资源的长度限制是32KB&#xff0c;getString()方法返回的字符串资源的大小超过这个限制&#xff0c;就会抛出STRING_TOO_LARGE 这个错误。 我本地的临界值是&#xff1a;32.3 KB (33,090 字节) 小于等于33090时&#xff0c;能正常显示&#xff…

数据结构和算法-树与二叉树的存储结构以及树和二叉树和森林的遍历

文章目录 二叉树的存储结构二叉树的顺序存储二叉树的链式存储小结 二叉树的先中后序遍历例题小结 二叉树的层次遍历小结 由遍历序列构造二叉树一个遍历序列即使给定了前中后序&#xff0c;也不能确定该二叉树的形态可以确定的序列组合前序中序后序中序层序中序 小结若前序&…

构建第一个ArkTS应用(纯HarmonyOS应用)

1. 安装开发工具 在华为开发者官方上下载HarmonyOS应用专用的开发工具&#xff0c;链接地址&#xff1a;HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 要想使用开发工具让项目跑起来&#xff0c;需要10G的磁盘空间。开发工具需要的磁盘空间为2.36G&#xff1b;SDK需…

springBoot整合task

springBoot整合task 文章目录 springBoot整合task开开关设置任务&#xff0c;并设置执行周期定时任务的相关配置 开开关 设置任务&#xff0c;并设置执行周期 Component public class MyBean {Scheduled(cron "0/1 * * * * ?")public void print(){System.out.prin…

Shutdown Signal: channel error; protocol method: #method<channel.close>

完整异常信息&#xff1a; Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code404, reply-textNOT_FOUND - no exchange fanoutExchange in vhost /, class-id60, method-id40) 意思是找不到名字是 fanoutExchange 的虚拟机 就是虚拟机…

JVM基础篇:垃圾回收

目录 1.前言 1.1C/C的内存管理 1.2Java的内存管理 2.方法区的回收 3.堆回收 3.1引用计数法和可达性分析法 3.2五种对象引用 强引用 软引用 弱引用 虚引用 终结器引用 3.3垃圾回收算法评价标准 ①吞吐量 ②最大暂停时间 ③堆使用效率 3.4垃圾回收算法 ①标记清…

RabbitMQ 笔记

Message durability 确保消息在server 出现问题或者recovery能恢复&#xff1a; declare it as durable in the producer and consumer code. boolean durable true; channel.queueDeclare("hello", durable, false, false, null);Queue 指定 //使用指定的queue&…

【古月居《ros入门21讲》学习笔记】14_参数的使用与编程方法

目录 说明&#xff1a; 1. 参数模型&#xff08;全局字典&#xff09; 2. 实现过程&#xff08;C&#xff09; 创建功能包 参数命令行的使用 YAML参数文件 rosparam命令 使用示例 编程方法&#xff08;C&#xff09; 配置代码编译规则 编译并运行 编译 运行 3. 实…