性能测试
Posted 4612
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试相关的知识,希望对你有一定的参考价值。
1、性能测试概念和术语介绍
1.1 并发数(此处是并发用户数)
- 系统用户数
该系统的注册用户数 - 在线用户数
某一时刻登录系统的用户 - 并发用户数
某一时刻向系统发送请求的用户数量
1)广义并发用户数:用户请求是由不同操作引起的
2)狭义并发用户数:针对同一个操作向系统发出的请求
1.2 响应时间
- 响应时间=用户的反应时间+网络传送的时间+系统服务器的处理时间+数据库服务器处理时间
注意:
1)是一个一来一回的过程,服务器处理完后,通过网络传送返回到浏览器界面
2)公司中的系统服务器和数据库是部署在不同的电脑上的 - 响应时间的3/5/10原则
3s之内有响应—很好
3-5s之内有响应—好
5-10s之内有响应—勉强
10s以上—很差
1.3 事务响应时间(平均事务的响应时间)
- 系统平均处理一个事务所需要的时间
1.4 每秒事务通过数(平均)—TPS
- 平均每秒服务器处理事务的数量
- 对于一个系统而言,TPS是一定的吗?
是一定的,典型场景:地铁闸口数量一定时,每秒进出的最大的人数是一定的
1.5 点击率(平均)
- 每秒服务器处理的http请求个数
1.6 吞吐量 (吞吐率)
- 服务器每秒处理的信息量(byte/s tps http/s)
1.7 思考时间
- 用户进行操作时,每个请求或者操作之间的时间间隔
1.8 资源利用率
- 不同资源的使用情况(CPU,GPU,磁盘,网络)
2、性能测试分类介绍
- 做性能测试的前提
1)要了解系统需要做什么类型的性能测试
2)根据具体需要做的性能测试去设计性能测试场景
2.1 基准测试
- 主要是为了获取系统的各项性能指标,作为一个基准
- 使用场景:新开发的项目或不了解的项目
2.2 狭义性能测试
模拟大量用户去访问系统的同一个功能,看系统各项的性能指标
2.3负载测试
不断给系统增加负载,查看系统在不同负载指标下系统性能的表现,查看系统性能的拐点,定位系统性能瓶颈(到底是哪里出现了问题)
注意:
1) 负载测试包含并发测试和容量测试
2)做并发测试和和容量测试的前提 :在一定软硬件环境下
2.3.1并发测试
不断给系统增加用户,查看系统在不同用户数量级别下,系统性能指标的表现,寻找系统的拐点
2.3.2容量测试
不断给系统的数据库增加数据,查看系统在不同数据量的情况下,系统性能指标的表现,寻找系统的拐点
2.4 压力测试(空间换时间)
在高于系统最高负载的情况下,运行一段时间,看系统的各项性能指标的表现,看是否系统会因为高负载出现资源分配不均,锁释放争抢问题等,系统崩溃
2.5 配置测试
在不同的软硬件配置下,查看系统各项性能指标的表现,找到系统性能表现最佳时系统的软硬件配置
2.6 可靠性测试(时间换空间)
在低于系统最高负载下长时间运行系统,看系统是否会出现各种性能问题
2.7 失效恢复测试
给系统很高的负载,看系统崩溃后,看系统的自我修复能力怎么样(是否保存用户数据等)
3、性能测试工具loadrunner
3.1 做性能测试的原理(多用户并发)
多线程模拟用户(虚拟用户)的操作
3.2 什么是集合点,为什么需要集合点
当我们测试多个用户并发时,每个用户执行到该事务脚本的先后顺序是不确定的,所以得到的测试结果也并不是一个完全 并发的极限测试结果。在开始事务之前 ,插入一个“集合点”,那么在多用户执行时,就可以将用户请求停下来(让先初始化的线程等待后面初始化的线程),直到用户数量达到满足的条件(默认是100%的用户都到达集合点)。那么,所有的用户都将同时发出接下来的请求。
3.3 性能测试的过程
3.4 在做系统性能测试的时候,已经知道性能测试的范围,如何选取主要的性能来进行测试?
在测试范围内,选择核心功能中用户经常使用的功能
3.5 注意事项
测试需求决定不同的性能测试类型,不同性能测试类型决定测试场景的各项数据指标的设置
以上是关于性能测试的主要内容,如果未能解决你的问题,请参考以下文章