看了无数文章,今天终于理解这些性能指标了!

news2024/11/26 7:47:41

如果要问性能测试里那种技术最难,相信很多人都会说出“性能分析”这四个字。确实是,性能测试的执行是比较简单的,难的是执行完成后,如何分析这些数据。如何从一大堆数据里分析哪些数据是优秀的,哪些数据是有问题的。这非常考验一个人的综合技术能力,技术广度和深度要同时兼备才行。

要想学会性能数据分析,深刻理解性能指标很关键,只有对每个指标都如数家珍,知道每个指标代表的含义,才能发掘数据背后性能问题。

今天我就用一个生活中的例子,讲一讲性能测试里最核心的几个指标

01、一个跟钱有关的例子

业务场景:

客户端就像是一个公司,服务端就像是一个银行,用户就是公司中的财务。公司需要现金时,就会派一个财务从公司出发,到银行大厅取现金,等待银行准备完毕后,财务带上现金再回公司。

这个过程就相当于客户端发出请求,请求到达服务端,服务端处理完成后,再给客户端返回响应。

图片

02、并发用户数

定义:同时向服务器发送请求的用户数

几个容易混淆的概念:

  • 注册用户:在系统中注册成功的用户数量,也就是数据库里存储的用户数量

  • 在线用户:同时处于在线状态的用户数量,也就是已经登录成功的用户数量

  • 并发用户:同时向服务器发送请求的用户数量,也就是正在做同一个业务的用户数

在银行的例子里,注册用户就是银行的开卡用户数;在线用户就是进到银行内部的用户数,但是有些用户可能正在里面休息,不办业务,并不会对银行造成压力;并发用户就是正在办理取款业务的用户数。很明显注册用户 > 在线用户 > 并发用户

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

03、TPS

Transaction Per Second,每秒钟处理的事务数

在服务端接口性能测试中,事务Transaction可以理解成一次接口调用,所以TPS其实就是服务端每秒钟处理多少次接口调用。如果TPS越高,证明服务端项目的处理能力就越好,性能就越好

在银行的例子里。如果有很多财务人员同时来银行办业务,假设银行每秒能处理1000笔业务,那就可以说银行业务的TPS=1000,这个数值越大,证明银行单位时间内能办的业务就越多,性能就越好

04、平均响应时间

响应时间Response Time,简称RT,指的是服务端处理完一个请求所花费的时间,通常时间单位为毫秒ms。

平均响应时间就是n多个请求响应时间的平均值。平均响应时间越短,代表性能越好,TPS就越高。银行办理业务的速度越快,单位时间内处理的业务量越多,因此性能就越好。

05、网络吞吐量

吞吐量就是单位时间内网络中的流量,一般都是以秒为单位。具体分为上行流量下行流量。数据的单位就是KB或MB

  • 客户端发给服务端的数据用的是上行流量

  • 服务端返回给客户端的数据用的是下行流量

网络就是公司到银行的路,TPS越高,吞吐量就越大。如果银行的性能好,效率很高,意味着财务在银行等待的时间就短,从而路上的人流量就会越多。

在做性能测试时,需要对网络中的流量做监控,判断网络是不是存在瓶颈。如果当前网络中的流量有没有达到网络带宽的上限。上行和下行任何一个流量达到上限,就说明网络出现瓶颈

06、并发数、TPS、平均响应时间之间的关系

在系统达到性能瓶颈之前:TPS和并发数成正比关系,即并发数越高,TPS越高;

达到瓶颈后:并发数增加,TPS不会继续增高(甚至会下降),这个最高的tps出现的点,叫做拐点

TPS和平均响应时间成反比关系,即平均响应时间越小,TPS就越高

图片

还是银行的例子,站在银行的角度来看,随着办业务的人越多,那同一时刻银行的处理业务量就越大,但是银行的处理能力总有一个上限,当用户量达到某个值后,处理能力就能达到巅峰。此时如果再来更多的用户,银行的处理能力也不会增加了。

END今天的分享就到此结束了,点赞关注不迷路~! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1292058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我有才打造知识付费小程序

一站式线上线下活动管理 为用户提供“精彩城市生活和人脉资源”。 在线活动提供创业、互联网、科技、投资、金融、教育、亲子、生活、聚会交友、医疗、设计、分享会、脱口秀、音乐演出等多种活动类型, 为职场白领提升技能、拓展人脉、聚会交友的首选平台。 为主办方提供“一…

JVM 运行时内存篇

面试题: 讲一下为什么JVM要分为堆、方法区等?原理是什么?(UC、智联) JVM的分区了解吗,内存溢出发生在哪个位置 (亚信、BOSS) 简述各个版本内存区域的变化&#xff1…

时间序列预测实战(二十五)PyTorch实现Seq2Seq进行多元和单元预测(附代码+数据集+完整解析)

一、本文介绍 本文给大家带来的时间序列模型是Seq2Seq,这个概念相信大家都不陌生了,网上的讲解已经满天飞了,但是本文给大家带来的是我在Seq2Seq思想上开发的一个模型和新的架构,架构前面的文章已经说过很多次了,其是…

宏工科技:电池装备高效交付“唯快不破”

面向TWh时代的锂电设备供应需求,锂电设备向标准化、模块化方向升级的趋势显现。 “近年来,宏工科技聚焦电池匀浆技术创新与规模化降本,通过电池匀浆工艺段的模块化探索与应用,从项目周期、成本、效率等多维度赋能电池前段制造高质…

微信小程序开发之原生小程序开发和uniapp开发的区别,两种开发方式语法上的区别

目前小程序开发有两种形式,分别是原生小程序开发和使用uniapp开发, uniapp和小程序原生开发都有各自的优缺点,开发者可以根据具体需求选择合适的开发方式。 一、两者区别如下: 编程语言:uniapp使用Vue语法编写应用程序…

高压放大器应用场景分析

高压放大器是一种重要的电子设备,其功能是将输入信号的电压幅度放大,以满足不同领域对于信号处理和放大的需求。下面安泰电子将对高压放大器在各个应用场景中的重要性进行深入分析,帮助大家更好地理解和使用高压放大器。 一、音频领域 音乐制…

Leo赠书活动-12期 【Java程序员,你掌握了多线程吗?】文末送书

Leo赠书活动-12期 【Java程序员,你掌握了多线程吗?】文末送书 ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页&#xff1…

静态住宅代理科普——实际应用场景以及如何配置?

住宅代理IP不仅是理论上的网络工具,它在多个实际应用场景中表现突出,极大地便利了用户的网络操作。接下来,将深入探讨住宅代理IP在市场调研、内容访问、社交媒体管理等方面的实际应用,揭示其在不同领域的实用价值。 ## 实际应用场…

无公网IP环境Windows系统使用VNC远程连接Deepin桌面

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,…

SpringSecurity(五)

深入理解HttpSecurity的设计 一、HttpSecurity的应用 在前章节的介绍中我们讲解了基于配置文件的使用方式,也就是如下的使用。 也就是在配置文件中通过 security:http 等标签来定义了认证需要的相关信息,但是在SpringBoot项目中,我们慢慢脱离…

自媒体原创文章写作技巧,轻松过原创首发

在写作的世界里,原创文章是一种价值的象征,但对于新手小白来说,可能会觉得写出真正原创的内容颇具挑战。然而,实现原创并不是一件遥不可及的事情。在这篇文章中,我将分享10招,教你如何成为一位写作中的原创…

联想范建平:联想混合AI架构具备两大明显优势

12月7日,首届AI PC创新论坛在北京联想集团总部举办。联想集团副总裁、联想研究院人工智能实验室负责人范建平表示,为提供真正可信、个性化的AI专属服务,联想提出了混合智能(Hybrid AI)概念,并已经显现出更强…

SFX的妙用——如何在不安装软件的情况下打开自定义格式文件?

前段时间看到群友讨论压缩包能不能运行,想起了n年前用自解压文件SFX实现的一个“需求”:在没有安装任何应用软件的Windows(当时还要支持XP)上能双击打开自定义格式的文件。当时第一反应是这“需求”太奇葩了,简直是不可…

Pacifist:一款专为技术开发者打造的软件提取工具

对于技术开发者而言,有效且便捷的工具可以显著提高工作效率。Pacifist,作为一款专业的软件提取工具,专为技术开发者而设计,旨在提供简单、安全的软件提取和管理工作。 一、Pacifist的技术特点 Pacifist主要采用AppleScript作为其…

QT Windos平台下打包应用程序

一、windeployqt.exe windeployqt:是 Qt 框架自带的一个工具,用于将一个 Qt 应用程序在 Windows 操作系统下进行打包。它可以通过扫描应用程序的依赖项获取所需的 Qt 库文件、插件和翻译文件,以及复制应用程序可执行文件和所需的依赖项到指定…

挑选分支中某一个提交进行合并

复制提交的哈希(sha-1)值 挑选提交 git cherry-pick 复制过来的哈希值 若有冲突,解决冲突,没有冲突,即合并完成

Java---线程讲解(二)

文章目录 1. Runnable接口2. 卖票案例3. 同步代码块解决数据安全问题4. 同步方法解决数据安全问题5. 线程安全的类6. Lock锁 1. Runnable接口 1. 创建线程的另一种方法是声明一个实现Runnable接口的类,之后重写run()方法,然后可以分配类的实例&#xff0…

数据结构与算法编程题50

假设不带权有向图采用邻接矩阵G存储,设计实现以下功能的算法。 (1)求出图中每个顶点的出度。 (2)求出图中出度为0的顶点数。 (3)求出图中每个顶点的入度。 //参考博客:https://blog.…

数据库数据恢复—sqlserver数据库文件被加密,文件名被篡改的数据恢复案例

SQLServer数据库故障: 某公司服务器上的SQLServer数据库被加密,无法使用。被加密的数据库有2个,数据库的MDF、LDF、log文件名字被篡改。 数据库被加密截图: 数据库备份被加密,文件名字被篡改: SQLServer数…

Navicat 连接 GaussDB分布式的快速入门

Navicat Premium(16.3.3 Windows版或以上)正式支持 GaussDB 分布式数据库。GaussDB分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构…