首页 > 其他分享 >性能测试概念

性能测试概念

时间:2024-07-22 11:10:21浏览次数:17  
标签:性能 Per 概念 Second 线程 位数 测试 进程

简介

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

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

性能测试相关概念

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

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

总结

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

标签:性能,Per,概念,Second,线程,位数,测试,进程
From: https://www.cnblogs.com/hogwarts/p/18315641

相关文章

  • Animate软件基础:启用、编辑和测试按钮元件
    FlashASer:Animate2022零基础应用教程之教师篇https://zhuanlan.zhihu.com/p/555447498FlashASer:Animate教程及作品源文件https://zhuanlan.zhihu.com/p/677437436FlashASer:实用的各种AdobeAnimate软件教程https://zhuanlan.zhihu.com/p/675680471FlashASer:Animate2021从入......
  • 做ui自动化测试需要对页面所有元素进行可见作断言吗?还是说只需要断言一个元素存在
    嗨,我是兰若姐姐,今天和大家讨论下,页面元素的断言,应该断言一个还是多个,还是所有?其实,在UI自动化测试中,是否需要对页面所有元素进行可见性断言,还是只需要断言一个关键元素存在,取决于测试的具体目标和上下文。以下是一些常见的实践和建议:1.关键元素断言在大多数情况下,断言一......
  • Hudi测试
    实验环境minio-8.0.10http://192.168.137.100:32000/minio/bigdata/spark-operator-1.1.26spark-history-server3.2.2http://192.168.137.100:32627/测试案例案例hudi-spark-test001apiVersion:"sparkoperator.k8s.io/v1beta2"kind:SparkApplicationmetadata:......
  • Acunetix v24.7 (Linux, Windows) - Web 应用程序安全测试
    Acunetixv24.7(Linux,Windows)-Web应用程序安全测试Acunetix|WebApplicationSecurityScanner请访问原文链接:https://sysin.org/blog/acunetix/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org重要提示AcunetixPremium现在使用日历化版本命名。请注意,从......
  • Metasploit Pro 4.22.2-2024071501 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.2-2024071501(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releaseJul15,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org世界上最广泛使用的渗透测试框架......
  • 【Locust】实现grpc接口性能测试
    一、locusthttps://www.locust.io/ 二、准备测试服务1、下载测试服务https://github.com/grpc/grpc.git2、使用编辑器或者IDE打开 3、proto文件位置 4、创建测试代码安装相关库pipinstalllocustgrpciogrpcio-toolspython-mgrpc_tools.protoc-I=/path......
  • 『性能』List 和 HashSet 查找性能比较 (任何数据量的检索 从此只用 HashSet )
    最近优化代码性能采用此方法效率明显提升,特此与大家共勉,同时感谢作者的无私分享!原作者文字地址:https://www.cnblogs.com/shuxiaolong/p/List_HashSet.html『性能』List和HashSet查找性能比较(任何数据量的检索从此只用HashSet)结论:总数50000(5万):List检索5W次耗时2......
  • Java性能优化-String的intern()方法的使用减少内存消耗
    场景String.intern()String.intern()方法用于在字符串常量池中查找是否存在与指定字符串相等的字符串。如果找到了,就返回该字符串的引用;否则,就在字符串常量池中创建一个新的字符串对象,并返回对它的引用。这个方法对于避免创建重复的字符串对象非常有用,特别是在处理大量字符串......
  • IDEA中用junit写基本测试用例
    前提:使用Maven管理依赖参考文档:https://www.liaoxuefeng.com/wiki/1252599548343744/1304048154181666https://segmentfault.com/a/1190000044666588首先在pom.xml中增加junit依赖,然后刷新Maven<!--junit依赖--><dependency><groupId>org.junit.jupiter</groupI......
  • 2024暑假集训测试8
    前言比赛链接。爆零了?!?T4莫名CE了,T2因为某些人打乱搞做法使出题人改数据和时限,\(O(npk)\)做法死掉了,主要还是数组开大了还忘了算,直接爆零了。T1WhiteandBlack显然不存在无解,从根开始扫,遇到黑色就翻转,前后顺序不影响结果,该方案为正确且唯一方案。继续观察发现若一个......