性能测试基础篇

目录

一、性能测试基础

二、概念和术语介绍

三、性能测试模型

四、性能测试分类介绍


一、性能测试基础

1. 为什么要进行性能测试

  • 为了保证所有设备运转正常

2. 性能测试关注什么

  • 并发用户数/吞吐量
  • 平均响应时间
  • 服务器资源占用情况
  • 可靠性、可扩展性
  • 发现引起系统问题的原因,关注采用何种技术提高系统性能
  • 软、硬件配置是否合适(容量规划/硬件选型)

3. 谁会关注性能问题

  • 开发人员:系统架构、数据库设计、代码与设计等,关注设计的是否合理,是否存在问题。
  • 系统管理人员:从操作系统、网络和服务器进行考虑,关注资源利用率、系统容量、系统稳定性。可扩展性等。
  • 用户:关注重点在于系统的响应时间与系统是否稳定。
  • 测试人员:以上问题都需要关注,并且要发现系统存在的瓶颈问题和真实有效的评估系统性能。

4. 关注的领域

  • 性能调优:这是在开发和测试阶段都会涉及到的性能测试应用领域。
  • 能力验证:关心在给定条件下,系统是否能有预期的表现。
  • 发现缺陷:通过性能测试手段发现系统中存在的缺陷。
  • 规划能力:关心如何让系统具有要求的性能能力,或者是站在某种可能发生的条件下,系统具有怎样的性能能力。

5. 什么时候进行性能测试

  • 性能测试一般在中后期

二、概念和术语介绍

1. 基本概念

  • 通过自动化测试工具模拟正常、峰值和异常负载条件,对系统各项性能指标进行测试。
  • 主要是为了保证产品上线或发布之后,能保证系统性能满足用户需求。
  • 对于一个软件系统,性能一般包括:执行效率、资源占用、稳定性、兼容性、安全性、可扩展性、可靠性等。性能指标中会包括系统很多方面的能力,比如:系统并发处理能力、系统响应时间、批量业务处理能力等等。

2. 常见术语

(1)并发数:

  • 系统用户数:该系统的注册用户数,包括活跃与僵尸粉。
  • 在线用户数:登录系统的用户数量,但是有些用户登录后没有进行任何操作,所以就不会产生与登录数相同的压力。
  • 并发用户数:对服务器产生压力的用户,登录并且操作系统的人才会产生压力。(较为严格的并发用户数是同一时间进行同一个操作的用户数

估算并发数:

1) 平均并发用户数 C = nL/T

2) 并发用户数峰值 C' = C + 3*根号C

  • C是平均并发用户数
  • nlogin session的数量
  • Llogin session的平均长度
  • T是值考察的时间长度
  • C'是并发用户数峰值

eg:假设系统A,该系统有800个用户,平均每天大概有200个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统.

平均并发用户数为:C = 200*4/8 = 100

并发用户数峰值为:C' = 100 + 3*根号100 = 130

(2)响应时间:

  • 又叫做TTLB(time to last byte)请求响应时间,是对请求作出响应所需要的时间。
  • 响应时间 = 网络传输请求时间 + 服务器处理时间(一层或多层)+ 网络传输响应时间

(3)事务响应时间:

  • 事务是一组密切相关的操作组合,该数值对用户的意义更直观。

(4)每秒事务通过数:

  • TPS(Transaction Per Second),指每秒系统能够处理的事务数,用以衡量系统处理能力。
  • 压力增加时, TPS 曲线如果变化缓慢或平坦,可能是服务器开始出现瓶颈。
  • 如果环境没有大变化,对于同一系统会存在一个最大处理事务能力,不随着并发用户的增减而改变。
eg:安检通过口,一秒过去一个人,只有十个安检口
  • 并发用户数为5,TPS为5
  • 并发用户数为10,TPS为10
  • 并发用户数为50,TPS为10

(5) 资源利用率:

  • 不同系统资源的使用情况,包括有:CPU、Memory、磁盘、网络等。

(6)吞吐量:

  • 单位时间内系统处理的客户请求数量,体现了软件系统的性能承载能力。
  • 衡量方式各有不同:请求数/秒,页面数/秒,访问人数/天,业务数/小时都可以。

(7)点击率:

  • 每秒点击数代表用户每秒向Web服务器提交的HTTP请求次数。
  • 点击率越高,服务器压力越大。此时的点击并不是鼠标的一次点击。

(8)思考时间:

  • 用户进行操作时,每个请求或者操作之间的间隔时间,为了模拟用户操作场景。

三、性能测试模型

  • X 轴代表并发用户数, Y 轴代表资源利用率、吞吐量、响应时间。
  • X 轴与 Y 轴区域从左往右分别是轻压力区、重压力区、拐点区。
  • 随着并发用户数、吞吐量与资源利用率增加,说明系统在积极处 理,所以响应时间增加得并不明显,处于比较好的状态。(轻压力区)
  • 随着并发用户数的持续增加,压力也在持续加大,吞吐 量与资源利用率都达到了饱和。(重压力区)
  • 随后吞吐量急剧下降,造成响应时间急剧增长。(拐点区)
  • 轻压力区与重压力区的交界点 是系 统的 最佳并发用户数 ,因为各种资源都利用充分,响应也很快。
  • 重压力区与拐点区的交界点 就是系统的 最大并发用户数 ,因为超过这个点,系统性能将会急剧下降甚至崩溃。

四、性能测试分类介绍

1. 基准测试

  • 制定一个基础标准,便于以后进行对比调优。

2. 狭义性能测试Performance Testing

  • 通过模拟生产运行的业务压力和使用场景结合,测试系统性能是否能满足生产系统的要求。

3. 负载测试Load Testing

  • 对被测系统不断增加压力,使各项指标达到饱和,这样可以找到系统处理极限,为系统调优提供依据。

4. 压力测试StressTesting

  • 测试系统在饱和状态下,会不会发生错误。类似于负载测试,主要为了发现高负载下的问题。

对比负载测试与压力测试:

负载测试:确定在各种工作负载下系统的性能,主要为了测试负载增加时,系统各项性能指标的变化情况。

压力测试:通过确定一个系统的瓶颈或者不能接受的性能点,来实现系统高负载下的测试,从而发现问题。

5. 并发测试Concurrency Testing

  • 模拟用户的并发访问,测试该情况下是否出现性能问题。

6. 配置测试ConfifigurationTesting

  • 调整系统的软硬件环境,记录各种环境对系统性能影响的程度,从而发现资源的最优分配。

7. 可靠性测试(Reliability Testing

  • 对系统添加一定的业务压力,让系统持续运行,看系统是否可以稳定运行。

8. 失效恢复测试Failover Testing

  • 不是所有系统都需要该种测试
  • 主要是针对有备份和负载均衡的系统设计,检验系统局部发生故障的情况下,用户是否可以继续使用系统,以及如果发生这种情况,用户会受到多大影响。
  • 模拟设备故障,验证预期的恢复技术是否可以正常发挥作用。

9. 大数据量测试

  • 独立的数据量测试:针对某些系统存储、传输、统计、查询等业务进行大数据量测试
  • 综合的数量测试:和压力测试、负载测试、并发测试、可靠性测试相结合的综合测试方案

每种测试所关注的领域:

 能力验证规划能力性能调优发现缺陷
性能测试*   
负载测试 * 
压力测试****
配置测试 ** 
并发测试   *
可靠性测试*   
失效恢复测试* **

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值