hxz
发布于 2023-08-02 / 53 阅读
0

【性能测试】性能指标的期望值如何定义?

概述

做性能测试之前,最好先定义清楚性能指标。这样我们才能评估测试结果是否满足预期。最理想的情况是,开发、产品、项目经理已经提前定义好性能指标。

从测试的维度来说,我们首先会去了解服务器的配置(Ip、port、账号信息、内存、cpu核数),接着,会从以下这几个指标去分析被测服务的性能瓶颈,定位相关的性能问题。

性能指标分为两大类,分别是事务指标和服务实例指标。

性能指标项和期望值定义

如果产品经理有明确指定的性能指标,直接使用即可。如果没有,首先要进行需求分析,以获取满足要求的性能指标。比如通过获取日志埋点数据信息获取系统最大在线用户数、业务分布情况、业务高峰时段等等。

业界对性能指标的定义分为两类,分别是服务实例指标和事务指标,下面按照这两类指标阐述。

一、服务实例指标

1.cpu使用率

(1)定义:在特定时间内,CPU被占用的时间比例。较高的CPU使用率可能表明系统正在处理大量的计算任务或者存在效率问题。

(2)期望值定义:<80%

2.内存使用率

(1)定义:当前已经被使用的内存量与总内存量的比率,内存使用率高意味着系统可能无法为新的请求分配足够的内存

(2)期望值定义:<80%

3.网络

(1)定义:每秒发送和接收的数据包数量以及网络带宽的使用情况。

4.磁盘IO

(1)定义:磁盘IO涉及从磁盘读写数据的速度。高磁盘IO表明磁盘正在进行大量的数据读/写操作,这可能是由于数据库操作、文件传输或其他磁盘密集型任务。磁盘IO过高可能导致系统响应变慢。

二、事务指标

1.事务失败率

(1)定义:未成功完成的事务占总尝试执行的事务的比例,即 (失败交易数/交易总数)*100%

(2)期望值定义:<0.1%,所有的事务失败都需要分析出具体的问题原因,确定是否合法。

事务合法失败:限流、请求超时

事务非法失败:不安全的路径输出、未捕捉到的异常、异常code

2.吞吐量(Throughput

(1)定义:它描述了系统在单位时间内能处理的总数据量或请求数。TPS是衡量吞吐量的一种方式,专注于事务处理的速度

(2)衡量方式

Rps 请求数/单位时间

Hps 点击数/单位时间

Tps 通过事务数/单位时间

Qps 查询数/单位时间

(3)期望值定义:

  • 场景一:如果有线上可参考的吞吐量数据,可以在这基础上定义。

  • 场景二:大部分情况我们不会定义期望值。

3.响应时间(RT)

(1)定义:响应时间是指用户发出请求到系统给出响应所经历的全部时间,平均响应时间是所有请求完成的平均速度,是评估系统整体性能的一个重要指标。

(2)期望值定义:

  • 场景一:不涉及文件下载上传,读写、批量处理的场景,只涉及简单的查询接口,一般定义为<1s

  • 场景二:如果当前是调优需求,有线上数据可以参考的情况下,可以,平均响应时间的期望值一定要低于以往的平均响应时间或低于20%

  • 场景三:不过大部分时间我们不会定义期望值,只有在明显的慢响应(用户有感知的loading或者触发了被测服务的超时处理机制),才会去考虑响应时间的问题。

4.并发用户数(VU)

(1)定义:同时执行的用户数或线程数

(2)期望值定义:

  • 场景一:有线上数据的情况:28原则从平均数计算出可能的峰值数据:80%的事务在20%的时间完成。

  • 场景二:无线上数据

    50 200 500 (500并发数是我们这边项目目前最大的并发数,其他项目可能就是几十并发)

    数据调研,了解竞品产品的并发数或用户量或吞吐量。