目标
1. 熟悉性能测试分类及概念
2. 理解性能测试常用指标
为什么要学习性能测试分类?
1. 性能测试是个综合的概述
2. 性能测试指的是测试一种分类或多种分类
3. 任何一具体分类,都是性能测试
思考
性能能测试常用的分类都有那些?
一、性能测试常用分类
1. 负载测试
2. 压力测试
3. 并发测试
4. 稳定性测试
提示:性能测试分类还有其他类型比如:配置测试、容量测试等,在于前期我们先熟悉以上常用分类
1.1 负载测试 【重点】
说明:通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的
最大负载量的测试。
(负载:向服务器发送请求)
提示:负载测试是通过逐步加压的方式来确定系统的处理能力、确定系统能够承受的各项阀值。例如:逐步加压,
从而得到“响应时间不超过3秒”、“服务器平均CPU利用率低于80%”等指标的阀值。
* 阀值:关注的某一具体数值(比如:登录小于3秒、用户数2000、业务成功率100%)
1.2 压力测试 【重点】
说明:
通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于【失效】状态。
提示:
1. 压力测试:是逐步增加负载,使系统某些资源达到饱和甚至失效。
(如:测试系统最多支持同时处理多少请求,超过此数数量系统瘫痪)
2. 负载测试:是逐步增加负载,确定在满足性能指标情况下,系统能承受的最大负载测试。
(如:登录3秒内,最多支持多少用户同时登录;如超出此数量,可能需要5秒钟或更多时间才能登录成功)
1.3 并发测试 【重点】
说明:
1. 概念:并发测试就是【多用户】同时访问【同一个应用】;
2. 目的:测试应用服务器 指定功能 的同时访问数是否达到预期结果;
提示:
1. 并发测试需要配合集合点来使用
2. 集合点:我们在接口阶段已了解,这里做个简单回顾...
1.4 稳定性测试 【理解】
说明:通过给系统加载一定的业务压力(如CPU资源在70%~90%的使用率)的情况下,运行一段时间,
检查系统是否稳定。
提示:
1. 通常稳定性测试,我们测试一段时间即可;
(如:24小时、3×24小时或7×24小时来模拟长时间运行)
思考
以上性能测试分类都依赖那些指标来衡量相应的数据或峰值?
什么是指标?
说明:一些经过运算得出的结果,来衡量某种操作性能统称;比如:错误率 0.5%
二、性能测试常用 指标 【重要】
1. 吞吐量
2. 并发数
3. 响应时间
4. 点击数
5. 资源利用率
6. 错误率
2.1 吞吐量
说明:吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。
通常情况下,吞吐量用“请求数/秒”或者“页面数/秒”来衡量。
提示:
1. 从业务角度来看,吞吐量也可以用“业务数/小时”、“业务数/天”、“访问人数/天”、“页面访问量/天”来衡量。
2. 从网络角度来看,还可以用“字节数/小时”、“字节数/天”等来衡量网络的流量。
2.2 并发数
说明:并发(Concurrency):它最简单的描述就是指多个同时发生的业务操作。
(例如,100个用户同时单击登录页面的“登录”按钮操作。)
提示:并发性测试描述的是多个客户端同时向服务器发出请求,考察服务器端承受能力的一种性能测试方式。
2.3 响应时间
说明:响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回结果整个过程所耗费的时间
2.4 点击数
说明:点击数是衡量Web服务器处理能力的一个重要指标。它的统计是客户端向Web服务器发了多少次HTTP请求计算的。
提示:
1. 点击数不是通常一般人认为的访问一个页面就是1次点击数,点击数是该页面包含的元素
(如:图片、链接、框架等)向Web服务器发出的请求数数量。
2. 通常我们也用每秒点击次数(Hits per Second)指标来衡量Web服务器的处理能力。
2.5 资源利用率
说明:是指系统各种资源的使用情况,一般用“资源的使用量/总的资源可用量×100%”形成资源利用率的数据。
提示:通常,没有特殊需求的话
1). 建议CPU不高于80%;
2). 内存不高于80%;
3). 磁盘不高于90%;
2.6 错误率
说明:错误率指系统在负载情况下,失败交易的概率。错误率=(失败交易数/交易总数)*100%。
提示:
1. 不同系统对错误率要求不同,但一般不超过千分之五;
2. 稳定性较好的系统,其错误率应该由超时引起,即为超时率。
思考
性能测试分类与常用指标以介绍完,那么性能测试需要什么工具?
三、性能常用测试工具
1. Jmeter
2. Loadrunner 【本阶段学习】
提示:性能测试工具与很多,目前最常用就是这两款,我们作为性能测试初期入门掌握这两款工具足矣;
3.1 Jmeter
说明:Apche公司使用Java平台开发的一款测试工具
作用:性能测试、接口测试、Web测试(无Gui)
优点:免费、开源、小巧
3.2 LoadRunner
说明:HP公司使用C语言开发的一款性能负载测试工具
作用:模拟高并发负载测试、测试场景搭建、运行、监控 、结果分析
优点:支持多协议、自带强大的图表功能、可根据需求合并需要的图表
缺点:收费
Jmeter and LoadRunenr
提示:
1. Jmeter: 接口测试及接口性能压测首选
2. LoadRunner: Web性能测试首选
说明:
1. Jmeter已学过,本阶段不在介绍
2. LoadRunner本阶段学习使用
总结
1. 性能测试分类
2. 性能常用指标