性能测试, performance testing
性能测试, performance testing 基准测试, benchmarking testing 性能测试, performance testing 测试系统在各种负载条件下的响应时间、吞吐量、资源使用等性能表现,以确保系统在预期的使用场景下能正常运行。 性能测试是什么: 性能测试就是通过特定的方式对被测试系统按照一定测试策略施加压力,获取该系统的响应时间、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秒左右。 ...