性能测试学习(一)

news2024/9/20 14:29:56

一、概念

1.性能测试:使用自动化工具,模拟不同场景,对软件各项性能指标进行测试和评估的过程

2.包括:a.后台处理程序的性能;b.应用服务器、数据库、架构设计是否存在瓶颈;c.服务器资源消耗(CPU、内存、磁盘、网络)

3.性能关注两方面:a.时间:系统处理用户请求的响应时间;b.资源:系统运行过程中,系统资源的消耗情况

4.性能测试的目的:a.评估当前系统能力;b.寻找性能瓶颈,优化性能;c.评估软件是否能满足未来的需要

二、性能测试的策略

(一)基准测试

狭义单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。

第1次:用户输入正确用户名密码,登录成功,耗时10ms
第2次:用户输入正确用户名密码,登录成功,耗时9ms
第3次:用户输入正确用户名密码,登录成功,耗时8.5ms
...
第100次:用户输入正确用户名密码,登录成功,耗时10ms

基准测试数据:单用户输入正确用户名密码,登录成功,性能耗时9.9ms(取多次的平均值)

广义:是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立一个已知的性能基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响

基准测试:

商成v1.0版本,模拟5w用户在硬件服务器(8CPU16G内存)运行,接口响应时间为3s.

测试场景:

c1:商成v1.0版本,模拟5w用户在硬件服务器(8CPU32G内存)运行,接口响应时间为2.5s.

c2:商成v1.0版本,模拟10w用户在硬件服务器(8CPU16G内存)运行,接口响应时间为4s.

c2:商成v1.1版本,模拟10w用户在硬件服务器(8CPU16G内存)运行,接口响应时间为2.5s.

基准测试的用途:

1.不会单独存在;2.为多用户并发测试和综合场景测试等提供参考依据;3.为系统、环境配置、系统优化前后的性能提升或下降提供参考指标

(二)负载测试

概念:通过逐步增加系统负载,确定在满足系统的性能指标情况下(如响应时间等),找出系统所能够承受的最大负载量的测试。

作用:系统最大负载量达到用户要求时,系统才能正式上线使用。

(三)稳定性测试

概念:在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周等),并最终保证服务器能满足线上业务需求。

作用:系统在用户要求的业务负载下运行达到规定的时间时,系统才能正式上线使用。

(四)压力测试

强负载下的测试,查看系统在峰值情况下是否有功能隐患、系统是否具有良好的容错能力和可恢复能力

分类:1.极限负载情况下导致系统崩溃的破坏性压力测试;2.高负载下的长时间的稳定性压力测试

如图所示,C-D为极限负载,B-C为高负载

A-B范围内,增加系统的在线用户数,系统的处理能力(负载量)会增大(轻压力区)

B-C范围内,增加系统的在线用户数,系统的处理能力(负载量)不变(重压力区)

C-D范围内,增加系统的在线用户数,系统的处理能力(负载量)会减小(崩溃区)

(五)并发测试

概念:并发测试(绝对开发):在极短时间内,发送多个请求,来验证服务器对并发的处理能力。

应用场景:抢红包、秒杀、抢购。

三、性能测试的指标

响应时间、并发数、吞吐量、点击数、错误率、资源利用率

(一)响应时间

概念:指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间

注意:1.通过HTTP接口请求消息来测试;2.不包括 发消息时前端页面的处理时间 和 收到消息后前端页面的渲染显示时间

(二)并发数

概念:某一时刻同时向服务器发送请求的用户数。

(三)吞吐量

概念:单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。

分类:

A.业务角度看:单位是"业务数/小时"、"业务数/天"、"访问人数/天"、"页面访问量/天"

B.网络角度看:“字节数/小时”、“字节数/天”  

C.技术角度看:每秒事务数(TPS)、每秒查询数(QPS)

TPS: Transactions Per Second

  每秒事务数:即控制服务器每秒处理的事务请求的数量

  事务:即业务,页面上的一个操作,可能对于1个/多个请求。

(四)点击数

概念:指客户端向服务器发送请求时,所有的页面资源元素(如:图片、链接、框架CSS、js等)的请求总数量

注意:1.只有web项目才有这个指标; 2.点击数不是页面上的一次点击

如图所示,百度上点击一个查询按钮,F12看到点击数为 23 requests.

(五)错误率

概念:系统在负载情况下,失败业务的概率。错误率=(失败业务数/业务总数)*100%

注意:1.大多数系统会要求错误率无限接近于0; 2.错误率是一个性能指标,不是功能上的bug.

3.随机bug是功能bug,先解决随机bug才能进行性能测试

(六)资源使用率

概念:指系统各种资源的使用情况,一般用"资源的使用量/总的资源可用量*100%"形成资源利用率的数据。

资源指标通常要求:

1.CPU不高于75%-85%

2.内存不高于80%

3.磁盘IO不高于90%

4.网络不高于80%

前两者看利用率。后两者看读写速度。

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

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

相关文章

ISCC——AI

得到一个T4.pyc 回编译一下 得到下面代码 import base64def encrypt_and_compare(user_input, offset_str, target_base64):if len(user_input) ! 24:return Please enter a string with a length of 24encrypted Nonefor i, char in enumerate(user_input):offset int(off…

二元关系表示

一、二元关系的定义和表示 什么是二元关系?对集合A和B,A\timesB的任意子集R为A到B的一个二元关系。当AB时,A\timesA的任一子集R称为A上的一个二元关系。在不引起误解的情况下,二元关系可简称关系。 若|A|m,|B|n,则A到…

浅谈网络安全态势感知

前言 网络空间环境日趋复杂,随着网络攻击种类和频次的增加,自建强有力的网络安全防御系统成为一个国家发展战略的一部分,而网络态势感知是实现网络安全主动防御的重要基础和前提。 什么是网络安全态势感知? 态势感知一词来源于对…

MySQL数据库中的多表查询/连接查询操作

类型:内连接 ,外连接{左外连接,右外连接} 之所以要使用连接查询的意义就是为了,借助数据库可以避免大量的数据重复。 进行连接查询的前提是要求多张表之间存在相关联的字段。 这里指的相关联的字段就是表与表之间存在着关系&am…

0元入驻抖音小店,真的是好事吗?

大家好,我是喷火龙。 抖音小店去年推出0元入驻抖音小店个人店的政策,简而言之就是只要一张身份证就可以开店,不需要营业执照,也不需要交保证金。 很多人一听很心动,因为没有任何成本就可以开店,于是纷纷跑…

二叉树的遍历(前序遍历,中序遍历,后序,层序遍历)和一些简单操作(由浅入深绝对能看懂)

欢迎大佬们的关顾能给个赞就更好啦QWQ 目录 二叉树的逻辑结构与物理结构 一.二叉树的遍历 (1)二叉树的前序遍历 (2)二叉树的中序遍历 (3)二叉树的后序遍历 (4)二叉树的层序遍历…

在PyCharm中import包标红

在程序头引入包,有时会出现标红 像上面的引入,在没有解决之前 sklearn.metrics 等都是标红的。因为缺少一些包,所以引入不了包中的一些函数 可以在左侧找到终端用命令安装包,用镜像可以加快下载速度 pip install 包名 -i https…

借助Kong记录接口的请求和响应内容

和APISIX类似,Kong也是一个Api GateWay。 运行在调用Api之前,以插件的扩展方式为Api提供管理, 如 鉴权、限流、监控、健康检查等. Kong是基于Lua语言、Nginx以及OpenResty开发的,拥有动态路由、负载均衡、高可用、高性能、熔断(基…

基于STM32+NBIOT(BC26)设计的物联网观赏鱼缸

文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目模块组成 1.2 设计思路 二、(硬件控制端)硬件选型2.1 STM32开发板2.2 PCB板2.3 USB下载线2.4 NBIOT模块2.5 杜邦线(2排)2.6 稳压模块2.7 电源插头2.8 水温检测传感器2.9 水质检测…

20232801 2023-2024-2 《网络攻防实践》实践十一报告

#20232801 2023-2024-2 《网络攻防实践》实践十一报告 1.实践内容 (1)web浏览器渗透攻击 使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。 (2)取证分析实践—网页木马…

WIFI国家码设置的影响

记录下工作中关于国家码设置对WIFI的影响,以SKYLAB的SKW99和SDZ202模组为例进行说明。对应到日常,就是我们经常提及手机是“美版”“港版”等,它们的wifi国家码是不同的,各版本在wifi使用中遇到的各种情况与下面所述是吻合的。 现…

【二叉树】力扣OJ题

文章目录 前言1. 翻转二叉树1.1 题目1.2 解题思路1.3 代码实现1.4 时空复杂度 2. 对称二叉树2.1 题目2.2 解题思路2.3 代码实现2.4 时空复杂度 3. 平衡二叉树3.1 题目3.2 解题思路3.3 代码实现3.4 时空复杂度 结语 前言 本篇博客主要介绍二叉树的经典 OJ 题,题目主…

Scala 入门介绍和环境搭建

一、简介 Scala 是一门以 Java 虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言 (静态语言需要提前编译,如:Java、c、c 等,动态语言如:js)Scala 是一门多范式的编程…

Spring中@Component注解

Component注解 在Spring框架中,Component是一个通用的注解,用于标识一个类作为Spring容器管理的组件。当Spring扫描到被Component注解的类时,会自动创建一个该类的实例并将其纳入Spring容器中管理。 使用方式 1、基本用法: Co…

MySQL:表的约束

文章目录 0.小知识,数据转化1.空属性(非空约束)2.默认值(default)3.comment(列描述)4.zerofill(显示约束)5.primary key(主键约束)6.auto_increment(自增长)7.unique(唯一键)8.foreign key (外键)9.综合表结构的设计 表…

【运维】Linux 端口管理实用指南,扫描端口占用

在 Linux 系统中,你可以使用以下几种方法来查看当前被占用的端口,并检查 7860 到 7870 之间的端口: 推荐命令: sudo lsof -i :7860-7870方法一:使用 netstat 命令 sudo netstat -tuln | grep :78[6-7][0-9]这个命令…

Java+Spring Boot +MySQL + MyBatis Plus一款数字化管理平台源码:云MES系统

JavaSpring Boot MySQL MyBatis Plus一款数字化管理平台源码:云MES系统 MES是为企业提供制造全过程的信息化产品,支持企业智能制造。MES可实现与企业的ERP、PDM等其他信息化系统进行无缝连接,也可与现场生产设备进行连接、数据采集&#xff…

牛客网刷题 | BC97 回文对称数

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 今天牛牛学到了回文…

线程池,日志

所要用到的知识点: 多线程的创建 生产消费模型, 线程锁 条件变量 代码: 线程池日志

留守儿童|基于SprinBoot+vue的留守儿童爱心网站(源码+数据库+文档)

留守儿童爱心网站 目录 基于SprinBootvue的留守儿童爱心网站 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&…