软件性能中几个主要的术语

一、响应时间

  响应时间是“对请求做出响应所需要的时间”。之前说过,它既有客观的成分,也有主观的成分,一般将用户所感受到的软件性能(响应时间)分为呈现时间和服务器端响应时间两个部分。对于一个Web应用,呈现时间就是浏览器接受到响应数据后呈现和执行页面上脚本所消耗的时间;而服务器端响应时间指应用系统从请求发出开始到客户端接收到数据所消耗的时间。响应时间可以被进一步分解,下图描述了一个Web应用的页面响应时间==网络传输时间(N1+N2+N3+N4)+应用延迟时间(A1+A2+A3),其中A2为数据库延迟时间,A1/A3为服务器延迟时间。如此划分的目的是更容易定位性能瓶颈。关于响应时间的参考值,我们一般遵循着2/5/10原则,但这仅仅是个参考值。例如一个使用频次很低的功能,如果响应时间>100s,也是能接受的。响应时间是否合理,最终取决于实际的用户需求。

二、并发用户数

  并发用户数,简单来说,就是同一时间段之内有多位用户访问系统。

  如果性能测试的目的是验证当前系统能否支持现有用户的访问,那么使用工具模拟用户数,模拟用户的行为,得到的测试结果就能真实反映实际用户访问时的系统性能表现。这里的同一时间段访问系统的用户数量可以称为“并发用户数”,是从业务的角度模拟真实的用户访问,体现的业务用户数。而还有一种针对服务器端的并发用户数,就是我们平时说的“并发用户数”,从服务器端承受的压力出发,描述的是同时向客户端发出请求的用户。

  说到并发用户数,那么相关的概念还有“系统用户数”和“同时在线用户人数”。其中,系统用户数就是使用该系统的人,不管他是登录一次还是经常使用,亦或者仅仅只是注册了,都算。同时在线人数就是后台统计的系统最高峰时有多少人在线,这个多少人就是一般所说的同时在线人数。假设有200人同时在线,40%的人在写写写,写完点击提交才会发起请求;20%的人眼冒绿光的沉迷于首页的炫酷效果中;30%的人在使用某一业务;还有10%的人在挂机。那么此时只有30%的用户真正对服务器构成了压力。所有针对服务器端的实际承受压力,不止取决于并发用户数,还要考虑用户的业务场景。

  通过对服务器的日志进行分析,可以了解用户的使用状态,并由此算出服务器承受的最大并发用户数。当然还有一些三者之间的计算公式,此处不说了,仅仅是个参考值,别当做标准值。

三、吞吐量

  吞吐量直接体现系统的性能承载能力,是指单位时间内系统处理的客户请求的数量,一般用单击数(请求数)/秒来衡量(TPS/QPS)。对于交互式应用,吞吐量指标反映的是服务器承受的压力,在容量规划测试中是一个重点关注的指标,因为它能够说明系统级别的负载能力。在性能测试过程中,吞吐量可以在以下两个方面发挥作用:

1、协助设计测试场景,衡量性能测试场景是否达到了预期的设计目标;

2、协助分析性能瓶颈。

在没有遇到性能瓶颈时,吞吐量和并发数的联系可以用公式F=N(vu)*R/T来计算,其中F=吞吐量,N(vu)=VU的个数,R=每个VU发出的请求,T=性能测试所用的时间,如果存在性能瓶颈,此式不成立(此时就需要画图了)。

注释:所谓的单击数一般指客户端发出的请求,而不是指页面上的一次单击事件。

四、性能计数器

  性能计数器是描述服务器或操作系统性能的一些数据指标,例如windows的使用内存数和进程时间等。

  计数器在测试中的作用是监控和分析,在分析系统的可扩展性和性能瓶颈时,计数器的取值较为关键。单一的性能计数器只能体现系统的某一个方面,对测试的结果分析必须基于多个不同的计数器。

五、思考时间

  用户在进行操作时,每个请求之间的间隔时间,具现在脚本中,就是Think函数。吞吐量的公式F=N(vu)*R/T,其中R可以用T/T(s)来计算,即请求数=时间/请求间隔时间。

最后给出一个参考的计算思考时间方法:

1、首先计算出系统的并发用户数;

2、统计出系统平均的吞吐量;

3、统计出平均每个用户发出的请求数量;

4、根据R=T/T(s)计算出思考时间T(s)。

原文地址:https://www.cnblogs.com/zichuan/p/10105608.html

时间: 2024-10-03 12:39:58

软件性能中几个主要的术语的相关文章

python中关于OOP的常用术语

一.python中关于OOP的常用术语 1.1抽象/实现 抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于描绘程序结构,从而实现这种模型.抽象不仅包括这种模型的数据属性,还定义了这些数据的接口. 对某种抽象的实现就是对此数据及与之相关接口的现实化(realization).现实化这个过程对于客户 程序应当是透明而且无关的. 1.2封装/接口 封装描述了对数据/信息进行隐藏的观念,它对数据属性提供接口和访问函数.通过任何客户端直接对数据的访问,无视接口,与封装性都

现代软件工程—构建之法》第一章 中出现的计算机专业术语

现代软件工程-构建之法>第一章 中出现的计算机专业术语 1.软件 2.程序 3.软件工程 4.二叉树 5.遍历算法 6.数据结构 7.算法 8.应用软件 9.软件服务 10.源程序 11.软件架构 12.软件设计与实现 13.依赖关系 14.编译参数 15.链接参数 16.构建 17.源代码管理 18.配置管理 19.质量保证 20.软件测试 21.需求分析 22.程序理解 23.软件维护 24.服务运营 25.软件的生命周期 26.软件项目的管理 27.用户体验 28.国际化和本地化 29.A

四 python中关于OOP的常用术语

抽象/实现 抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于 绘程序结构,从而实现这种模型.抽象不仅包括这种模型的数据属性,还定义了这些数据的接口. 对某种抽象的实现就是对此数据及与之相关接口的现实化(realization).现实化这个过程对于客户 程序应当是透明而且无关的. 封装/接口 封装描述了对数据/信息进行隐藏的观念,它对数据属性提供接口和访问函数.通过任何客户端直接对数据的访问,无视接口,与封装性都是背道而驰的,除非程序员允许这些操作.作为实现的 一

Lightroom中几个重要名词术语的解释

Lightroom是照片管理.处理.发布的综合性智能软件,里面有几个重要的专有技术名词,通过我的理解做一个总结: 一.目录(Catalog) 就是Lightroom的数据库,会把用户的照片的信息.照片的预览.智能预览和对照片的修改保存到一个数据库中,该数据库的扩展名就是lrcat(lr猫) 二.预览(Preview) 为了区别智能预览,我暂且把它成为普通预览.是为了浏览方便而生成(Build或称构建)的预览文件,保存到一个以Previews.lrdata(lr数据)结尾的文件中,这个文件是个打包

Web Service中的几个重要术语

WSDL:web service definition language 直译:WebService定义语言 1.对应一种该类型的文件.WSDL 2.定义了Web Service的服务器与客户端应用交互船度请求和响应数据的格式和方式 3.一个web service对应一咯唯一的wsdl文档 SOAP:simple object access protocal 直译:简单对象访问协议 1.一种更简单的.基于HTTP和xml的协议,用于在WEB上交换结构化的数据 2.soap消息:请求消息和响应消息

第十二课时:时序分析中的基本概念和术语

经典的时序分析模型 1. 建立时间边缘和保持时间边缘 reg a源端寄存器 reg b目的端寄存器,有共同的时钟源 2. 4种时序路径 PPT1 第四类是纯组合的路径 前三类是同一类 PPT2 3. 数据到达时间 PPT1 Tdata是布线延时h和逻辑延时和逻辑延迟 PPT2 捕获沿 建立时间要求 4. 保持时间的要求 数据到达之后至少存在Th,新的数据不能太早的到 5. 余量计算 PPT1 保持时间的余量 新的数据不能太早的到达,否则破坏了 PPT2 余量的计算 对于保持时间到达时间是下一个数

在Node.js中使用RabbitMQ系列一 Hello world

在前一篇文章中可伸缩架构简短系列中提到过关于异步的问题.当时推荐使用RabbitMQ来做任务队列的实现方案.本篇文章以Node.js为例子,来实际操作如何和RabbitMQ进行交互. 介绍 RabbitMQ是一个消息代理.它最初的思想特别简单:接受并且转发消息.你可以将它想象为邮局:当你将邮件放到信箱中,你可以非常肯定快件员最终会将邮件交到接受人手中.你可以把RabbitMQ比喻为信箱.邮局和快递员.RabbitMQ和邮局之间主要的区别是它不处理纸张,而是接受.存储和转发二进制数据?消息. 在R

IdentityServer3——入门教程:.NET开源OpenID Connect 和OAuth解决方案IdentityServer v3 术语

你应该知道的在文档和对象模型中使用一些特定的术语: OpenID Connect Provider (OP) 授权服务器 Thinktecture IdentityServer v3 是一个.NET 平台上开源的OpenID Connect 提供者 和 OAuth2 验证服务器,OpenID Connect Provider在不同的著作中有不同的说法,你可能发现有的叫安全令牌服务提供商,授权服务器,ip-sts和更多. 简单来说他们的共同点:为客户端提供一块安全令牌的软件. IdentitySe

项目管理术语表

术语表中的许多单词,在词典中都有更广泛甚至不同的含义.本术语表遵循如下惯例对术语进行定义:? 在某些情况下,一个术语由多个单词组成(如风险紧迫性评估):? 当出现同义词时,不再对同义词进行定义,而建议读者参见相应的常用词语(即见某某词语):? 对非同义词的相关术语,则在其定义结尾处标明交叉引用(即参见某某词语).Acceptance Criteria 验收标准:可交付成果通过验收前必须满足的一系列条件.Accepted Deliverables 验收的可交付成果:项目产出的,且被项目客户或发起人