性能测试是什么:性能测试就是通过特定的方式对被测试系统按照一定测试策略施加压力,获取该系统的响应时间、TPS、吞吐量、资源利用率等性能指标,来检测系统上线后能否满足用户需求的过程。

性能测试要统一考虑这么几个因素:Thoughput吞吐量/吞吐率,Latency响应时间,资源利用(CPU/MEM/IO/Bandwidth…),成功率,系统稳定性。

并发数

并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。

响应时间

响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。响应时间是指执行一个请求从开始到最后收到响应数据所花费的总体时间。

吞吐量/吞吐率

吞吐量是指单位时间内系统能处理的请求数量,体现系统处理请求的能力,这是目前最常用的性能测试指标。

QPS(每秒查询数)、TPS(每秒事务数)是吞吐量的常用量化指标,另外还有HPS(每秒HTTP请求数)。

跟吞吐量有关的几个指标是:并发数、响应时间。

QPS(TPS),并发数、响应时间它们三者之间的关系是:

QPS(TPS)=并发数/平均响应时间

响应时间

  指的是客户发出请求到得到响应的整个过程的时间。在某些工具中,请求响应时间通常会被称为“TTLB”(Time to laster byte) ,意思是从发起一个请求开始,到客户端收到最后一个字节的响应所耗费的时间。

https://blog.wiloon.com/?p=16015

资源指标

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

CPU指标主要指的CPU利用率,包括用户态(user)、系统态(sys)、等待态(wait)、空闲态(idle)。

CPU 利用率要低于业界警戒值范围之内,即小于或者等于75%;

CPU sys%小于或者等于30%;

CPU wait%小于或者等于5%;

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

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

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

系统指标

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

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

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

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

系统处理能力

定义和解释:系统处理能力是指系统在利用系统硬件平台和软件平台进行信息处理的能力。系统处理能力通过系统每秒钟能够处理的交易数量来评价,交易有两种理解:一是业务人员角度的一笔业务过程;二是系统角度的一次交易申请和响应过程。前者称为业务交易过程,后者称为事务。两种交易指标都可以评价应用系统的处理能力。

一般情况下,系统处理能力又用以下几个指标来度量:

HPS(Hits Per Second) :每秒点击次数,单位是次/秒。

TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒。

QPS(Query per Second):系统每秒处理查询次数,单位是次/秒。

<a href="https://coolshell.cn/articles/17381.html">性能测试应该怎么做?</a>

https://blog.csdn.net/u012562943/java/article/details/78799927

https://www.cnblogs.com/fnng/archive/2012/07/01/2571990.html

https://testerhome.com/articles/21178

<a href="http://blog.wiloon.com/?p=8284">负载测试、压力测试和性能测试的区别</a>