简介

性能测试是软件测试的一种类型,旨在评估系统、应用程序或服务在特定负载条件下的性能表现。

它涉及模拟真实世界中的用户行为、请求和负载,以便测量系统在不同条件下的响应时间、吞吐量、并发用户数和资源利用率等性能指标。

性能测试相关概念

  • 并发:并发是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。
  • 响应时间(Response Time,RT):响应时间是系统处理用户请求的时间。
  • 吞吐量(Throughput):系统在单位时间内处理的请求数量,通常以每秒请求数(Requests Per Second,RPS)或每分钟请求数(Requests Per Minute,RPM)来衡量。
  • 每秒事务数(Transaction per Second,TPS):系统每秒处理事务数,单位为 事务数/秒。
  • 每秒查询数(Query per Second,QPS):系统每秒处理查询次数,单位为 查询数/秒。
简写英文全称含义
RTResponse Time响应时间。通常响应时间,都是包括了 Request Time 和 Response Time
HPSHits Per Second每秒点击数
TPSTransactions Per Second每秒事务数,事务可以是数据库事务、网络请求、交易等,取决于具体系统的性质。
QPSQueries Per Second每秒钟处理的查询数量。查询可以是网络请求、API 调用、HTTP 请求等。
RPSRequests Per Second每秒请求数
CPSCodes Per Second在 HTTP 协议中,CPS 偶有提及,指的是 HTTP 返回每秒
PVPage View页面浏览量
UVUnique Visitor独立访问者
IPInternet Protocol本意是 IP 地址,在性能中一般指独立 IP 数
Throughput 吞吐量
IPOSInput/Output Operations Per Second通常描述磁盘

对于互联网业务中,如果某些业务有且仅有一个请求连接,那么 TPS=QPS, 一般情况下用 TPS 来衡量整个业务流程,用 QPS 来衡量接口查询次数。

并发数 = QPS * 平均响应时间

技术上提升压力的方式

  1. 多进程:启动多个进程,每个进程虽然只有一个线程,但是多个进程可以一起执行多个任务。
  2. 多线程:启动一个进程,在一个进程的内部启动多个线程,这样多个线程也可以一起执行多个任务。
  3. 多进程+多线程:启动多个进程,每个进程再启动多个线程。
维度多进程多线程优劣
数据共享、同步数据是分开的:共享复杂,需要用 IPC;同步简单多线程共享进程数据: 共享简单,同步复杂各有优势
内存、CPU占用内存多,切换复杂,CPU 利用率低占用内存少,切换简单,CPU 利用率高线程占优
创建销毁、切换创建销毁、切换复杂,速度慢创建销毁、切换简单,速度快线程占优
编程调试编程简单,调试简单编程复杂,调试复杂进程占优
可靠性进程间不会相互影响一个线程挂掉将导致整个进程挂掉进程占优
分布式适应于多核、多机分布 ;如果一台机器不够,扩展到多台机器比较简单适应于多核分布进程占优

性能指标分位值

在性能指标中,Mean(均值)、P90、P95 和 P99 是常见的描述性分位数,用于衡量数据分布的不同方面。

  • Mean(均值):也称为平均值,是将所有观测值相加并除以观测值的数量得出的结果。它表示数据的集中趋势,但容易受到离群值的影响。均值特别在数据分布对称时很有用,因为它与分布的中心位置相对应。
  • P90:表示第 90 分位数,也称为百分之九十分位数。它表示 90%的观测值低于该值,仅有 10%的观测值高于该值。P90 给出了一个较高的观察到的值,可以用来评估系统在高运行负载条件下的性能。
  • P95:表示第 95 分位数,也称为百分之九十五分位数。它表示 95%的观测值低于该值,仅有 5%的观测值高于该值。P95 用于衡量系统在绝大部分情况下的性能,它可以反映典型的性能水平。
  • P99:表示第 99 分位数,也称为百分之九十九分位数。它表示 99%的观测值低于该值,仅有 1%的观测值高于该值。P99 用于衡量系统在高负荷或异常情况下的性能,它通常代表较高的延迟或较差的响应时间。

总之,这些分位数可用于衡量系统性能的不同方面,包括典型情况下的性能、高负载情况下的性能以及极端情况下的性能。选择使用哪些分位数取决于具体的需求和关注的性能指标。

总结

  • 性能测试相关概念
  • 性能指标分位值

霍格沃兹测试学院
44 声望27 粉丝