7.性能测试

news2024/5/18 18:39:10

目录

一、常见的性能问题

二、为啥要进行性能测试?

三、确定性能测试的需求(性能指标,量化)

1.关键性能指标分析

2.关键业务的分析

四、不同维度衡量系统的性能

1.研发人员

2.系统运维人员

3.用户

4.性能测试人员

五、性能指标

1.并发用户数

2.响应时间

3.事务的响应时间

4.每秒事务通过数

5.点击率

6.吞吐量

7.思考时间

8.资源利用率

六、性能测试的方法

1.基准测试:了解系统的性能

2.并发测试

3.压力测试

 4.配置测试

5.可靠性测试      24h甚至一周


一、常见的性能问题

1.内存泄漏

软件运行时,没有回收内存,导致系统运行越来越慢

2.CPU使用率达到100%

3.线程死锁阻塞,造成系统运行越来越慢

4.查询速度越来越慢

5.受外部系统的影响越来越大

二、为啥要进行性能测试?

1.获取系统性能的指标,作为性能基准指标

2.验证系统的性能指标,是否符合需求

应用系统是否能满足系统的各项性能指标

应用系统是否可以处理预期的用户数量,并且有盈余能力

应用系统是否可以处理预期的事务数量

在预期和非预期的情况下,系统是否可以稳定运行

在预期和非预期的情况下,用户使用软件时,是否可以获得舒适的体验

3.看系统是否有内存泄漏等瓶颈问题

4.看系统在正常工作情况下,能够接受用户访问的数量

5.了解系统的性能,让运维部门更好的规划系统的各种配置

三、确定性能测试的需求(性能指标,量化

1.关键性能指标分析

同一时刻,支持200万用户在线,18个小时要处理2000万次交易,平均每秒处理309条,高峰期每秒处理309 * 3 = 927条

2.关键业务的分析

系统出问题,一般不是系统的所有功能出现问题,而是一些关键的业务或者功能出现问题

(1)在分析性能指标时,要选择用户频繁使用的功能

(2)计算量较大的业务(淘宝支付,要用到很多接口,优惠卷、余额扣款等)

四、不同维度衡量系统的性能

1.研发人员

系统架构是否合理,是否支持多线程并发

数据库设计是否合理,(合理放入索引和合理的表关联关系)

核心算法是否高效

设计和代码:是否存在不合理的线程同步方式和不合理的资源竞争

2.系统运维人员

关注系统对资源的利用率,服务器(CPU、内存、磁盘、网络带宽、服务器的利用率、数据库的使用状况)

系统的容量:系统支持的最大用户数

系统的稳定性:系统是否可以稳定运行

系统的可扩展性:如果要进行扩容操作,系统可以支持

3.用户

使用起来是否舒适,相应速度非常快,稳定性好

4.性能测试人员

以上的层面都需要关注

当系统的性能无法达标时,关注引起系统性能的瓶颈

五、性能指标

1.并发用户数

业务层面的并发数:同一时刻,向服务器发送请求的用户数量

后端服务器的并发数:同一时刻,向后台服务器发送请求的用户数量 

2.响应时间

用户发送请求到用户所期待的响应完全展示到前端,所用的时间

 系统响应时间:服务器之间通信处理请求所需要的时间

3.事务的响应时间

系统中完成一个事务的平均时间

4.每秒事务通过数

TPS(Transcation交易,业务,事务 Per Seconds)

平均每秒处理事务的数量

5.点击率

每秒点击数,代表用户每秒向web服务器提交的HTTP请求的数量

点击率越大,服务器压力越大

6.吞吐量

单位时间内系统处理的信息量

TPS, HPS(HTTP Per Second)

7.思考时间

模拟用户操作的实际停顿时间

8.资源利用率

系统在运行的时候资源的使用情况,CPU、内存、硬盘、网络等

六、性能测试的方法

1.基准测试:了解系统的性能

系统的新版本,或者新接手的系统,需要进行基准测试,获得系统的性能指标,做为以后保持系统性能的基准

进行基准测试,不仅可以可以获取系统的性能指标,还可以会发现新系统的一些性能问题

2.并发测试

同一时刻,向后端服务器发送请求,测试系统的表现,看系统是否会因为用户量大而引起资源竞争,死锁等问题

3.压力测试

一般指后端里的测试,不断对系统施加压力,看系统在长期处于临界饱和的情况下,系统的稳定性,以及系统指标的变化

进行压力测试时,不断向系统增加负载,使得系统长期处于高负荷状态,看系统在这种极限情况下的CPU利用率、内存使用情况等其他指标

 4.配置测试

系统配置在不同的配置上进行测试,找出能够使系统性能发挥到最优的配置

操作系统的配置 unix Ubuntu Redhat

数据库服务器的配置  读写,存储量大,

JVM配置

网络环境

服务器,内存,磁盘等

5.可靠性测试      24h甚至一周

验证系统长时间运行的稳定性

系统实际负载的70%左右,长时间运行,看系统是否稳定,指标是否稳定

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

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

相关文章

力扣 695. 岛屿的最大面积

一、题目描述 给你一个大小为 m x n 的二进制矩阵 grid。 岛屿是由一些相邻的 1(代表土地)构成的组合,这里的相邻要求两个 1 必须在水平或者竖直的四个方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。…

论文分享 A ConvNet for the 2020s

摘要 视觉识别的“咆哮的 20 年代”始于 Vision Transformers (ViTs) 的引入,它迅速取代了 ConvNets,成为最先进的图像分类模型。另一方面,vanilla ViT 在应用于对象检测和语义分割等一般计算机视觉任务时面临困难。正是层次化的 Transforme…

SpringBoot 3.1现已推出,惊艳新特性带来前所未有的开发体验

一、介绍 1.1 新特性概述 经过半年的沉淀 Spring Boot 3.1于2023年5月18日正式发布了,带来了许多令人兴奋的新特性和改进。本篇博客将详细介绍Spring Boot 3.1的新特性、升级说明以及核心功能的改进。 同时,2.6.x 版本线已经停止维护了,最新…

02SpringCloud Nacos注册中心和配置中心与Sentinel服务熔断和流控

Nacos注册中心和配置中心 Nacos 是 Alibaba 开发的用于微服务管理的平台,核心功能:服务注册与发现和集中配置管理。 Nacos 作为服务注册发现组件,可以替换Spring Cloud 应用中传统的服务注册于发现组件,如:Eureka、C…

XML和JSON格式转换成txt

XML如下这种: 转换代码 import os import xml.etree.ElementTree as ET# xml文件存放目录(修改成自己的文件名) input_dir rC:\121\Annotations# 输出txt文件目录(自己创建的文件夹) out_dir rC:\121\txtclass_list []# 获取目录所有xml文…

pix2pixHD代码---数据集处理

在train文件中:其中dataset是dataloader的方法,而dataloader等于CreateDataLoader。 所以我们跳到CreateDataLoader: 在CreateDataLoader中返回的是dataset_loader,是来自于CustomDatasetDataLoader。切调用了initialize。因为C…

零次学习(Zero-Shot Learning)

零次学习(Zero-Shot Learning) 零样本学习zero-shot learning,是最具挑战的机器识别方法之一。2009年,Lampert 等人提出了Animals with Attributes数据集和经典的基于属性学习的算法,开始让这一算法引起广泛关注。 零…

qt quick(qml)通过arcgis导入自定义格式地图(Windows 版本)

参考ArcGIS Maps SDK for Qt 参考Display a map 安装 预先安装的软件 安装ArcGIS SDK 点击ArcGIS Maps SDK for Qt 注册账号 要注册成developer版本用户的,不然之后可能没办法生成API 下载 下载之后安装,一路next就可以了 在QT中创建ArcGIS项目…

CMOS图像传感器——TDI CIS(2)

在之前的文章 CMOS图像传感器——TDI CIS_tdi相机的工作原理_沧海一升的博客-CSDN博客时间延迟积分(Time-Delay Integration, TDI)技术是一种特殊的成像模式https://blog.csdn.net/qq_21842097/article/details/119873386 对CMOS TDI图像传感器做了基本介绍,这里我们…

django项目结合vue执行

开发环境下直接把vue打包后的文件放在django项目,启动前端项目直接打包即可 注意事项: settings.py文件 TEMPLATES [ { ‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’, # ‘DIRS’: [], ‘DIRS’: [os.path.join(BASE_DIR,‘front…

Java基础面试题突击系列5

👩🏻 作者:一只IT攻城狮 ,关注我不迷路 ❤️《java面试核心知识》突击系列,持续更新… 💐 面试必知必会学习路线:Java技术栈面试系列SpringCloud项目实战学习路线 📝再小的收获x365天…

mac 切换java jdk版本 java8 java11

1. 终端执行命令 查看本地各版本jdk:mac通常默认安装了jdk1.8 安装目录是 /Library/Java/JavaVirtualMachines/ cd /Library/Java/JavaVirtualMachines/ ls 2. 上述命令列出的各版本目录名 后,在全局配置文件.bash_profile中新增上面命令列出的各…

四月,收割12家offer,面试也太容易了吧....

前言 下面是我根据工作这几年来的面试经验,加上之前收集的资料,整理出来350道软件测试工程师 常考的面试题。字节跳动、阿里、腾讯、百度、快手、美团等大厂常考的面试题,在文章里面都有 提到。 虽然这篇文章很长,但是绝对值得你…

005 - STM32学习笔记 - 启动代码

005 - STM32学习笔记 - 启动代码 常用汇编指令 指令名称作用EQU给数字常量取一个符号名,相当于C语言中的#define;AREA汇编一个新的代码段或者数据段;SPACE分配内存空间;PRESERVE8当前文件栈需要按照8字节对齐;EXPORT…

【ChatGPT】ChatGPT自动生成思维导图

参考视频:https://edu.csdn.net/learn/38346/613917 应用场景:自学,“研一学生如何学习机器学习”的思维导图 问:写一个“研一学生如何学习机器学习”的思维导图内容,以markdown代码块格式输出 # 研一学生如何学习…

探索人工智能和机器学习的前沿趋势

🌟 深度学习的突破🌟 强化学习的进展🌟 可解释性和公平性的挑战(1000字)🌟 自动化和智能化的未来(1000字) 在当今科技飞速发展的时代,人工智能(Artificial In…

全网最牛最前面的浦发银行软件测试面试题精讲分析

面试永远都是软件测试人重点关注的问题,最近也总有很多想去银行面试的小伙伴来问我,有没有什么方法技巧传授一下。 那今天就给大家总结一些浦发银行的面试题,小伙伴们可以看看如果是自己能不能流畅地回答上来这些面试题。 1、说说你们公司测…

c++积累12-const

1、文件作用域-const修饰变量默认为文件局部变量 注意:非const变量默认为extern。要使const变量能够在其他文件中访问,必须在文件中显式地指定它为extern。 1) 未被const修饰的变量在不同文件的访问 可以看到是能够默认不加const是可以正常访问的 2) …

某大型啤酒企业:构建网络安全软实力,首选Coremail反钓鱼演练

客户背景 某大型啤酒厂商的公司规模和市场份额多年来始终都处于行业领先地位,积极赞助多项体育赛事,持续丰富和提升品牌形象。作为一家具有全球影响力的企业,自然也成为了全球黑客等攻击团伙的重点目标,而系统攻击的开端便是钓鱼…