IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 性能测试基础 -> 正文阅读

[开发测试]性能测试基础

前言

在性能测试的全局视角下梳理软件性能测试相关知识点

一、不同角色

1.开发

算法设计

算法设计包括:

  • 核心算法的设计与实现是否高效
  • 是否存在潜在的内存泄漏
  • 是否存在并发环境下的线程安全问题
  • 是否存在不合理的线程同步方式
  • 是否存在不合理的资源竞争

架构设计

架构设计包括:

  • 系统整体是否可以方便的进行容量和性能扩展
  • 应用集群的可扩展性是否经过测试和验证
  • 缓存集群的可扩展性是否经过测试和验证
  • 数据库的可扩展性是否经过测试和验证

性能实践

性能实践包括:

  • 代码实现是否遵守开发语言的性能实践
  • 关键代码是否在白盒级别进行性能测试
  • 是否考虑前端性能测试
  • 必要的时候是否压缩数据
  • 对于既要压缩又要加密的场景,是否采用先压缩后加密的顺序

数据库

数据库:

  • 数据库表设计是否高效
  • 是否引入索引
  • sql语句的执行计划是否合理
  • 数据库是否采用读写分离机制
  • 系统冷启动后,当缓存大量不命中的时候,数据库承载的压力是否超负荷

软件性能的可测试性包括

软件性能的可测试性包括:

  • 是否为性能分析器提供必要的接口支持
  • 是否支持高并发场景下的性能打点
  • 是否支持全链路的性能分析

2.测试

性能工程师一般需要具备的技能:

  • 性能需求的总结和抽象能力
  • 根据性能测试目标,精准的性能测试场景设计和计算能力
  • 性能测试场景和性能测试脚本的开发和执行
  • 性能测试报告的分析解读能力
  • 性能瓶颈的快速排查和定位能力
  • 性能测试数据库的设计和实现能力

二、性能指标

并发用户数

系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是5000个,那么这个数量,就是系统用户数。

同时在线用户数:在一定的时间范围内,最大的同时在线用户数量。
同时在线用户数=每秒请求数RPS(吞吐量)+并发连接数+平均用户思考时间

响应时间

响应时间:对请求作出响应所需要的时间
网络传输时间:N1+N2+N3+N4
应用服务器处理时间:A1+A3
数据库服务器处理时间:A2

响应时间=N1+N2+N3+N4+A1+A3+A2

系统吞吐量

指单位时间内系统处理用户的请求数
从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量
从网络角度看,吞吐量可以用:字节/秒来衡量
对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力
以不同方式表达的吞吐量可以说明不同层次的问题,例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。
当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R
其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数

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

阶段一:
当系统并发用户数较少时,系统的吞吐量也低,系统处于空闲状态,我们往往吧这个阶段称为“空闲区间”
阶段二:
当系统的负载不是很大时,随着系统并发用户数的增长,系统的吞吐量也会线性增长,我们往往把这个阶段称为“线性增长区”
阶段三:
随着系统并发用户数的进一步增长,系统的处理能力逐渐趋于饱和,因此每个用户的响应时长会逐渐变长。相应的,系统的整体吞吐量并不会随着用户并发数的增长而继续线性增长。我们往往把这个时间点称为拐点
阶段四:
随着雄通过并发用户数的增长,系统处理能力达到过饱和状态。如果继续增加并发用户数,最终所有用户的响应时间会变得无限长。相应地,系统的整体吞吐量会降为0,系统处于被压垮状态。我们称这个为“过饱和区间”

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:47:11  更:2021-12-24 18:49:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:43:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码