性能测试概念

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: **性能测试评估系统在负载下的表现,关注响应时间、吞吐量、并发用户数和资源利用率。关键指标包括RT、HPS、TPS、QPS、RPS等。并发数可由QPS和平均响应时间计算。提升压力的技术手段涉及多进程、多线程,各有优劣。P90、P95、P99等分位数用于描述数据分布,揭示不同负载场景下的系统性能。**

简介

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

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

性能测试相关概念

  • 并发:并发是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。
  • 响应时间(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 用于衡量系统在高负荷或异常情况下的性能,它通常代表较高的延迟或较差的响应时间。

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

总结

  • 性能测试相关概念
  • 性能指标分位值
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
4月前
|
Java 测试技术 Maven
JAVA单元测试概念与实战
单元测试是软件开发中的一个测试方法,用于验证软件代码中最小的、独立的单元是否按照预期工作。在Java中,这通常指的是单个的方法或者一个类的个别功能。单元测试的目的是隔离代码的每个部分,并确保各个部分是正确的。
87 4
|
4月前
|
jenkins 测试技术 持续交付
软件测试:基础概念
软件测试:基础概念
96 0
|
4月前
|
测试技术 UED
软件测试/测试开发|软件测试基础概念
软件测试/测试开发|软件测试基础概念
48 0
|
23天前
|
Kubernetes 监控 Java
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
44 0
|
4月前
|
测试技术 UED
PTS压测问题之资源准备好慢如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
268 1
|
4月前
|
测试技术
软件测试概念与基础
软件测试概念与基础
|
4月前
|
测试技术
深入探索软件测试:从基本概念到先进方法
【5月更文挑战第30天】 在这篇文章中,我们将深入研究软件测试的各个方面。我们将从基本的软件测试概念开始,然后探讨一些先进的测试方法和工具。我们的目标是为读者提供一个全面的软件测试概览,帮助他们更好地理解这个领域。
|
4月前
|
测试技术 网络安全
精简总结:一文说明软件测试基础概念(二)
本文讲述了软件测试人员应具备的素质,包括技能和非技能方面。技能涵盖测试用例设计、编程、快速学习新技术以及业务学习能力。
38 0
|
4月前
|
SQL 架构师 安全
精简总结:一文说明软件测试基础概念(一)
该内容是关于软件测试的介绍,包括软件测试的基础概念、特点、与开发的区别,以及与调试的差异。文中提到了测试是为了验证软件是否满足用户需求,确保软件质量,并举例说明了日常生活中测试的存在。还讨论了软件测试的不可穷尽性,并列举了软件测试与开发在内容、技能和职业发展路径上的不同。此外,提到了《软件测试的艺术》这本书作为学习资源。内容中包含了两张图片,分别展示了相关概念。
43 0
|
4月前
|
测试技术 开发者
【专栏】测试驱动开发(TDD)和行为驱动开发(BDD)的核心概念与实践
【4月更文挑战第27天】本文探讨了测试驱动开发(TDD)和行为驱动开发(BDD)的核心概念与实践。TDD强调先写测试用例,通过测试推动设计,确保代码质量与可维护性。BDD侧重软件行为和业务价值,提倡使用通用语言描述行为,减少沟通障碍。选择TDD或BDD取决于项目复杂性、团队技能和业务需求。理解两者差异有助于团队做出合适的选择,发挥测试的最大价值。
97 3
下一篇
DDNS