霍格沃兹测试开发学社

《Python测试开发进阶训练营》(随到随学!)
2023年第2期《Python全栈开发与自动化测试班》(开班在即)
报名联系weixin/qq:2314507862

性能测试概念

简介

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

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

性能测试相关概念

  • 并发:并发是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。
  • 响应时间(Response Time,RT):响应时间是系统处理用户请求的时间。
  • 吞吐量(Throughput):系统在单位时间内处理的请求数量,通常以每秒请求数(Requests Per Second,RPS)或每分钟请求数(Requests Per Minute,RPM)来衡量。
  • 每秒事务数(Transaction per Second,TPS):系统每秒处理事务数,单位为 事务数/秒。
  • 每秒查询数(Query per Second,QPS):系统每秒处理查询次数,单位为 查询数/秒。
简写 英文全称 含义
RT Response Time 响应时间。通常响应时间,都是包括了 Request Time 和 Response Time
HPS Hits Per Second 每秒点击数
TPS Transactions Per Second 每秒事务数,事务可以是数据库事务、网络请求、交易等,取决于具体系统的性质。
QPS Queries Per Second 每秒钟处理的查询数量。查询可以是网络请求、API 调用、HTTP 请求等。
RPS Requests Per Second 每秒请求数
CPS Codes Per Second 在 HTTP 协议中,CPS 偶有提及,指的是 HTTP 返回每秒
PV Page View 页面浏览量
UV Unique Visitor 独立访问者
IP Internet Protocol 本意是 IP 地址,在性能中一般指独立 IP 数
Throughput 吞吐量
IPOS Input/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 用于衡量系统在高负荷或异常情况下的性能,它通常代表较高的延迟或较差的响应时间。

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

总结

  • 性能测试相关概念
  • 性能指标分位值
posted @ 2024-07-22 11:01  霍格沃兹测试开发学社  阅读(2)  评论(0编辑  收藏  举报