性能基础 -- 概念

1. 性能测试概述

1.1 软/硬件

软件:程序是人类逻辑思维的物化,表现形式为一系列指令代码
硬件:主要指运行该软件的硬件平台,有CPU、内存和存储系统等,如果软件是基于网络架构的,那么硬件还有网络硬件,如交换机、路由器等。
软件资源包括操作系统、开发平台、中间件和数据库等,它们以库文件和API的方式提供给应用软件使用。

1.2 定义

在一定的负载情况下,系统的相应时间等载特性是否满足特定的需求

1.3 性能分层

前端性能
    APP
        卡顿、流畅度
        资源消耗(CPU、内存、流量、电量)
    WEB
        页面渲染(浏览器、文件存放位置)
        js性能---[dynatrace ajax edition](https://www.cnblogs.com/yixiaoheng/p/dynatrace-ajax-edition-0.html)
服务端性能
    linux
    windows

1.4 目的

+ 评估系统的能力
+ 识别系统性能瓶颈
+ 系统性能调优
+ 验证可伸缩性和可靠性

1.5 衡量性能

+ 时间特性:响应时间、吞吐率)
+ 资源利用特性:内存、CPU
+ 效率依从特性:效率(相关标准)

2. 测试策略

2.1 负载测试

确定不同用户数下系统的最大用户数、最大有效用户数、系统响应时间、资源占用率------发现系统的极限

2.2 压力测试

使服务器资源处于极限状态下长时间运行,能否稳定工作------测试系统特殊条件下的稳定性

2.3 并发测试

测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题-----发现内存泄漏、线程锁和资源争用等问题
    + 在线用户 -----容量
    + 实际用户 -----负载(并发操作---------队列管理)   

2.4 配置测试

调整被测系统的软\硬件环境,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则------用于性能调优和规划能力

2.5 稳定性测试

加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定------运行状态是否稳定

2.6 容量测试

主要针对服务器----关注服务器容量,以及硬件处理能力、服务器连接能力

2.7 基准测试

当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新模块对整个软件系统的性能影响。按照基准测试的方法,需要打开/关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记下来作为基准(Benchmark),然后与打开模块状态下的系统性能指标作比较,以判断模块对系统的影响

2.8 网络性能测试

带宽、端口、延迟、负载变化对响应时间的影响--------测试用户数目和网络带宽的关系

3. 关注参数

3.1 响应时间

+ 对请求作出响应所需要的时间。
+ 响应时间=呈现时间+数据传输时间+系统处理时间,t = N1+N2+N3+N4+A1+A3+A2+A3,其中:
    t是响应时间
    网络传输时间:N1+N2+N3+N4,数据传输时间影响因素:网速、传输路径,一般选择千兆局域网测试
    应用服务器处理时间:A1+A3---线程池
    数据库服务器处理时间:A2----连接池技术
    呈现时间:A3,影响因素:浏览器、操作系统、硬件(CPU\内存),性能工具屏蔽响应的呈现过程

3.2 TPS/QPS

+ 单位时间内系统处理用户的事物数,与request对CPU的消耗、外部接口、IO等有关。
+ 未遇到性能瓶颈的时候,吞吐量F=VU * R /=并发数/平均响应时间
    F为吞吐量
    VU表示虚拟用户个数
    R表示每个虚拟用户发出的请求数
    T表示性能测试所用的时间

3.3 并发用户数

+ 平均并发用户数的计算:C=nL/T,峰值:C`=C+3C^(1/2)
    C是平均的并发用户数
    n是平均每天访问用户数(login session)
    L是一天内用户从登录到退出的平均时间(login session的平均时间)
    T是考察时间长度(一天内多长时间有用户使用系统)

3.4 资源利用率

+ 内存(Memory)
+ 硬盘(Physical Disk)
+ 处理器(Processor)
+ 网络状况

3.5 事务成功率

发送的请求是否都100%成功响应

4. 软件性能关注点

4.1 管理员角度

1. 资源利用率(服务器、数据库)     服务器、I/O
2. 响应时间
3. 系统容量
4. 系统瓶颈
5. 系统/设备可扩展性

4.2 开发角度

1. 架构设计是否合理
2. 数据库设计(读写分离、索引、分库分表、sql)
3. 代码是否存在性能方面的问题
4. 内存泄漏
5. 不合理的线程同步方式
6. 不合理的资源竞争

4.3 测试角度

性能需求 + 全部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值