性能测试是指被测系统,在一定的负载下运行,监控系统的各项指标,是否符合需求(指标,指的CPU,内存,事务响应时间,等)如果不符合,就发现了系统的性能瓶颈

一、性能测试的目的

为了寻找和验证系统的默写关键性性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的

1、全新系统,从未做过性能测试

寻找关键性的性能指标

2、基于已有的性能测试基础上,再次进行性能测试

验证系统是否达到预定的性能指标值

 

二、性能测试的具体概念

1.基准测试

    指测试环境确定以后,对业务模型中涉及的重要业务做单独的测试。目的是获取单用户执行时的各项性能指标,为多用户并发和综合场景等性能测试分析提供参考依据。

2.负载测试

    通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统性能指标的前提下,系统所能承受的最大负载量的测试。

3.压力测试

    通过逐步 增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态来获得系统能提供的最大服务级别的测试。压力测试是逐步增加负载,使系统某些资源达到饱和甚至失效。

4.容量测试

    在一定的软、硬件条件下,在数据库中构造不同数量级的记录数量,通过运行一种或多种业务场景,在一定虚拟用户数量的情况下,获取不同数量级别的性能指标,从而得到数据库能够处理的最大会话能力、最大容量等。系统可处理同时在线的最大用户数,通常和数据库有关。

5.可靠性测试

    通过给系统加载一定的业务压力的情况下,运行一段时间,检查系统是否稳定。因为运行时间较长,所以通常可以测试出系统是否有内存泄漏的问题。


三、性能测试关注指标:

Ø  资源指标

CPU使用率:指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%。

内存利用率:内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%。

磁盘I/O: 磁盘主要用于存取数据,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据的时候对应的是写IO操作,取数据的时候对应的是是读IO操作,一般使用% Disk Time(磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能。

网络带宽:一般使用计数器Bytes Total/sec来度量,Bytes Total/sec表示为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。

Ø  系统指标:

并发用户数:某一物理时刻同时向系统提交请求的用户数。

在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求。

平均响应时间:系统处理事务的响应时间的平均值。事务的响应时间是从客户端提交访问请求到客户端接收到服务器响应所消耗的时间。对于系统快速响应类页面,一般响应时间为3秒左右。

事务成功率:性能测试中,定义事务用于度量一个或者多个业务流程的性能指标,如用户登录、保存订单、提交订单操作均可定义为事务

超时错误率:主要指事务由于超时或系统内部其它错误导致失败占总事务的比率。

TPS:服务器每秒处理事务数,衡量服务器处理能力的最主要指标

吞吐量:单位时间内处理的请求数量(事务/s)

吞吐率:单位时间内通过数据的平均速率(kb/s)

QPS:每秒查询率(接口查询多+并发用户多,qps会增大)

RPS:每秒请求数

HPS:每秒点击次数