性能测试常用术语

之前在性能测试过程中,对于某些其中的术语一知半解,导致踩了很多坑。这篇博客,就常见的一些性能测试术语进行一次浅析。。。

负载

对被测系统不断施加压力,直到性能指标超过预期或某项资源使用达到饱和,以验证系统的处理极限,为系统性能调优提供依据;

并发

①狭义上的并发:所有用户在同一时间点进行同样的操作,一般指同一类型的业务场景,比如1000个用户同时登陆系统;

②广义上的并发:多个用户与系统发生了交互,这些业务场景可以是相同的也可以是不同的,交叉请求和处理较多;

压力

系统在一定饱和状态下,例如CPU、内存等饱和情况下,系统能够处理的会话能力,以及系统是否会出现错误

特点:主要目的是检查系统处于压力情况下应用的性能表现,重点在于有无出错信息产生,系统对应用的响应时间等

事务

性能测试中,事务指的是从端到端,一个完整的操作过程,比如一次登录、一次筛选条件查询,一次支付等;

吞吐量

指在一次性能测试过程中网络上传输的数据量的总和,也可以这样说在单次业务中,客户端与服务器端进行的数据交互总量;

对交互式应用来说,吞吐量指标反映服务器承受的压力,容量规划的测试中,吞吐量是重点关注的指标,它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值;

吞吐量和负载之间的关系

①上升阶段:吞吐量随着负载的增加而增加,吞吐量和负载成正比;

②平稳阶段:吞吐量随着负载的增加而保持稳定,无太大变化或波动;

③下降阶段:吞吐量随着负载的增加而下降,吞吐量和负载成反比;

总结:吞吐量干不过负载!!!

如下图所示:

a1面积越大,说明系统的性能能力越强,a2面积越大,说明系统稳定性越好,a3面积越大,说明系统的容错能力越好(啧啧,图有点丑。。。)

吞吐率

吞吐量/传输时间,即单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量,它是衡量网络性能的重要指标。

通常情况下,吞吐率用“字节数/秒”来衡量,当然,也可以用“请求数/秒”和“页面数/秒”来衡量;

TPS

Transaction Per Second:每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位;

PS:看到很多博客或性能测试人员将QPS和TPS混为一谈,个人认为,他们是以测试结果的统计得到该结论的;

QPS是查询,而TPS是事务,事务是查询的入口,也包含其他类型的业务场景,因此QPS应该是TPS的子集

QPS

Query Per Second:每秒查询率,指服务器在单位时间内(秒)处理的查询请求速率;

PS:TPS和QPS都是衡量系统处理能力的重要指标,一般和并发结合起来判断系统的处理能力;

PV

Page View:页面浏览量,通常是衡量一个页面甚至网站流量的重要指标;

细分的话,有独立访问者数量、重复访问者数量、单独页面访问数量、用户停留时间等类型;

RT/ART

Response Time/average Response Time:响应时间/平均响应时间,指一个事务花费多长时间完成;

一般来说,性能测试中平均响应时间更有代表意义。细分的话,还有最小最大响应时间,50%、90%用户响应时间等;

Thinking Time

思考时间,在性能测试中,模拟用户的真实操作场景。用户操作的事务与事务之间是有一定间隔的,引入这个概念是为了并发测试(有交叉业务场景)时,业务场景比率更符合真实业务场景;

连接池

连接池是一个进程,多个连接在一个进程中存储、管理,它是共享、可复用的;

当客户端发起请求,先检查是否有闲置连接,如果有,则分配该连接给其使用;如果没有,则请求进入等待队列(等待空闲连接分配,这个取决于调度配置)或新建一个连接对象供其使用

(取决于连接池有多少连接以及允许的最大连接数);

每次客户端发起请求,如果都新建连接,会消耗很多的资源,连接池的存在及其特性,减少了连接的建立所消耗的资源以及节省了很多连接创建时间,给系统提供了更好的伸缩性,也有助于

服务器性能的提升。

关于连接池中线程的状态,可参考此篇博客:线程的几种状态 - 测试匠艺的个人空间 - OSCHINA - 中文开源技术交流社区

标准方差

各数据偏离平均数的距离(离均差)的平均数,它能反应一个数据集的离散程度。离散程度越大,数据越不可靠;

性能测试中引入这个术语,是为了对高峰期、平缓期的系统响应时间分布,不同业务场景的响应时间分布,以及I/o数在时间段上的分布等情况进行分析,以判断系统的稳定性。

资源使用率

如下图所示,资源指标与硬件资源消耗直接相关,而系统指标则与用户场景及需求直接相关:

资源指标:

CPU使用率:指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%;

内存利用率:内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%;

磁盘I/O: 磁盘主要用于存取数据,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据的时候对应的是写IO操作,取数据的时候对应的是是读IO操作,一般使用% Disk Time

        (磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能;

网络带宽:一般使用计数器Bytes Total/sec来度量,其表示为发送和接收字节的速率,包括帧字符在内;判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较;

系统指标:

并发用户数:单位时间内与系统发生交互的用户数;

在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求;

平均响应时间:系统处理事务的响应时间的平均值;事务的响应时间是从客户端提交访问请求到客户端接收到服务器响应所消耗的时间;

事务成功率:性能测试中,定义事务用于度量一个或者多个业务流程的性能指标,如用户登录、保存订单、提交订单操作均可定义为事务,单位时间内系统可以成功完成多少个定义的事务,

          在一定程度上反应了系统的处理能力,一般以事务成功率来度量;

超时错误率:主要指事务由于超时或系统内部其它错误导致失败占总事务的比率;

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作

 行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux Zip解压缩命令

Zip 用法 $ zip [-选项] [-b 路径] [-t 日期] [-n 后缀名] [压缩文件列表] [-xi 列表] 默认操作是添加或替换压缩文件列表中的压缩文件条目,压缩文件列表可以包括特殊名称 -,压缩标准输入数据 Zip 是一个创建和管理 zip 文件的压缩工具 Unzip 是一个用…

关于java的异常处理

关于java的异常处理 我们在上一篇文章中,对java中的异常有了一个初步的了解,本篇文章我们来了解一下异常的处理机制,如何抛出异常,如何捕捉异常😀 关于java的异常 一、异常类型等级 二、关键字 trycatchfinallythr…

Opencv——图片卷积

图像滤波是尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。 线性滤波是图像处理最基本的方法,它允许我们对图像进行处理,产生很多不同的效果。首先,我们需要一个二…

wifi配网(esp8266和esp32)-http get和post方式

wifi配网(esp8266和esp32)-http get和post方式 通过http get和post方式来给esp芯片配网 步骤: 开机,指示灯亮起后(需要灯闪烁3下后),需在3s内(超过3s则会正常启动),按一下按键(注:切…

算法41:掉落的方块(力扣699题)----线段树

题目:https://leetcode.cn/problems/falling-squares/description/ 在二维平面上的 x 轴上,放置着一些方块。 给你一个二维整数数组 positions ,其中 positions[i] [lefti, sideLengthi] 表示:第 i 个方块边长为 sideLengthi &…

【蓝桥杯冲冲冲】[NOIP2001 普及组] 装箱问题

蓝桥杯备赛 | 洛谷做题打卡day26 文章目录 蓝桥杯备赛 | 洛谷做题打卡day26题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路 题解代码我的一些话 [NOIP2001 普及组] 装箱问题 题目描述 有一个箱子容量为 V V V,同时有 n n n 个物品,每…

jvm基础篇之垃圾回收[2](垃圾回收算法)

文章目录 版权声明垃圾回收算法核心思想垃圾回收算法的历史垃圾回收算法的评价标准垃圾分类算法分类标记清除算法核心思想标记清除算法优缺点 复制算法核心思想完整案例复制算法的优缺点 标记整理算法核心思想标记整理算法优缺点 分代垃圾回收算法arthas查看分代内存情况核心思…

【android】对于google-webrtc的性能中, memory leak

目录 zlmediakit->webrtcplay->app webrtcutil1/3 测试程序等 zlmediakit->webrtcplay->app 编译sdk 32 有时候会从开始新增5M,就稳定在一个值了 webrtcutil1/3 测试程序等 编译sdk 30

关于可变类型和不可变类型的探究

个人猜想(很遗憾失败了) 在硬盘或者系统中存在一个字符集 如果存在硬盘中,那么硬盘出厂的时候他的字符集所占用的空间就已经确定了。 如果存在于系统的话,硬盘应该在出厂的时候为系统设置一个存储系统字符集的地方。在安装系统…

【Chrono Engine学习总结】2-可视化

由于Chrono的官方教程在一些细节方面解释的并不清楚,自己做了一些尝试,做学习总结。 0、基本概念 类型说明: Chrono的可视化包括两块:实时可视化,以及离线/后处理可视化。 其中,实时可视化,又…

蓝桥杯省赛无忧 背包问题 课件 课件61 多重背包

01 多重背包基础模型 02 小明的背包3 03 二进制优化模型 04 新一的宝藏搜寻加强版

Linux Rootkit实验|0201 基本功能之Root后门

Linux Rootkit实验|0201 基本功能之Root后门 11 May 2017 文章目录 Linux Rootkit实验|0201 基本功能之Root后门实验说明实验环境实验过程提供 root 后门 实验总结与思考参考资料参考资料 时人不识凌云木,直待凌云始道高。 实验说明 本次实…

压力测试工具-Jmeter使用总结

目录 一.前言 二.线程组 三.线程组的组件 四.线程组-HTTP请求 1、JSON提取器 2、XPATH提取器 3、正则表达式提取器 五.线程组-断言 1、响应断言 2、JSON断言 六.创建测试 1.创建线程组 2.配置元件 3.构造HTTP请求 4.添加HTTP请求头 5.添加断言 6.添加查看结果树…

SAFe大规模敏捷认证Leading SAFe官方认证班

课程简介 SAFe – Scaled Agile Framework是目前全球运用最广泛的大规模敏捷框架,也是全球敏捷相关认证成长最快、最被认可、最有价值的规模化敏捷认证,目前全球SAFe认证专业人士已达120万人。 据官方统计,获得新证书的IT专业人士的平均工资…

寒假作业2月2号

第一章 命名空间 一.选择题 1、编写C程序一般需经过的几个步骤依次是(C ) A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 2、所谓数据封装就是将一组数据和与这组数据有关…

Pycharm python用matplotlib 3D绘图显示空白解决办法

问题原因: matplotlib版本升级之后显示代码变了,修改为新的 # ax Axes3D(fig) # 原代码 ax fig.add_axes(Axes3D(fig)) # 新代码import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import Ax…

Electron开发的十大神级产品,vscode、atom、skype、figma等

Hi、我是贝格前端工场,今天分享一下基于Electron的十大著名产品,欢迎友友们补充。 Visual Studio Code 这是一款由微软开发的轻量级代码编辑器,它提供了丰富的功能和插件生态系统,支持多种编程语言和开发工具。Visual Studio Cod…

PDF中公式转word

效果:实现pdf中公式免编辑 step1: 截图CtrlAltA,复制 step2: SimpleTex - Snip & Get 网页或客户端均可,无次数限制,效果还不错。还支持手写、文字识别 单张图片:选 手写板 step3: 导出结果选择 注:…

【笔记】Android 常用编译模块和输出产物路径

模块&产物路径 具体编译到软件的路径要看编译规则的分区,代码中模块编译输出的产物基本对应。 Android 代码模块 编译产物路径设备adb路径Comment 模块device/mediatek/system/common/ 资源overlay/telephony/frameworks/base/core 文件举例res/res/values-m…

开源的三维算法库有哪些

PCL,VTK,VCG,CGAL,Open CASCADE(opencascade),OpenSceneGraph (OSG), 点云网格处理算法:openmesh, meshlab三维算法库,Eigen 网格简化,网格平滑,网格参数化 无序点云网…