`
daniel_tu
  • 浏览: 179852 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

软件性能测试的基本概念和计算公式

 
阅读更多

一、软件性能的关注点

对一个软件做性能测试时需要关注那些性能呢?

我们想想在软件设计、部署、使用、维护中一共有哪些角色的参与,然后再考虑这些角色各自关注的性能点是什么,作为一个软件性能测试工程师,我们又该关注什么?

首先,开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能。

对 于用户来说,当点击一个按钮、链接或发出一条指令开始,到系统把结果已用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印 象。也就是我们所说的响应时间,当相应时间较小时,用户体验是很好的,当然用户体验的响应时间包括个人主观因素和客观响应时间,在设计软件时,我们就需要 考虑到如何更好地结合这两部分达到用户最佳的体验。如:用户在大数据量查询时,我们可以将先提取出来的数据展示给用户,在用户看的过程中继续进行数据检 索,这时用户并不知道我们后台在做什么。

用户关注的是用户操作的相应时间。

其次,我们站在管理员的角度考虑需要关注的性能点。

1、 相应时间
2、 服务器资源使用情况是否合理
3、 应用服务器和数据库资源使用是否合理
4、 系统能否实现扩展
5、 系统最多支持多少用户访问、系统最大业务处理量是多少
6、 系统性能可能存在的瓶颈在哪里
7、 更换那些设备可以提高性能
8、 系统能否支持7×24小时的业务访问

再次,站在开发(设计)人员角度去考虑。

1、 架构设计是否合理
2、 数据库设计是否合理
3、 代码是否存在性能方面的问题
4、 系统中是否有不合理的内存使用方式
5、 系统中是否存在不合理的线程同步方式
6、 系统中是否存在不合理的资源竞争

那么站在性能测试工程师的角度,我们要关注什么呢?

一句话,我们要关注以上所有的性能点。

二、软件性能的几个主要术语

1、响应时间:对请求作出响应所需要的时间

网络传输时间:N1+N2+N3+N4

应用服务器处理时间:A1+A3

数据库服务器处理时间:A2

响应时间=N1+N2+N3+N4+A1+A3+A2

2、并发用户数的计算公式

系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是5000个,那么这个数量,就是系统用户数。

同时在线用户数:在一定的时间范围内,最大的同时在线用户数量。
同时在线用户数=每秒请求数RPS(吞吐量)+并发连接数+平均用户思考时间

平均并发用户数的计算:C=nL / T

其中C是平均的并发用户数,n是平均每天访问用户数(login session),L是一天内用户从登录到退出的平均时间(login session的平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

并发用户数峰值计算:C^约等于C + 3*根号C

其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论。

3、吞吐量的计算公式

指单位时间内系统处理用户的请求数

从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量

从网络角度看,吞吐量可以用:字节/秒来衡量

对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力

以不同方式表达的吞吐量可以说明不同层次的问题,例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。

当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R /

其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间

4、性能计数器

是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行新能瓶颈定位时有着非常关键的作用。

资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。

5、思考时间的计算公式

Think Time,从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔,而在做新能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。

在吞吐量这个公式中F=VU * R / T说明吞吐量F是VU数量、每个用户发出的请求数R和时间T的函数,而其中的R又可以用时间T和用户思考时间TS来计算:R = T / TS

下面给出一个计算思考时间的一般步骤:

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

C=nL / T F=R×C

B、统计出系统平均的吞吐量

F=VU * R / T R×C = VU * R / T

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

R=u*C*T/VU

D、根据公式计算出思考时间

TS=T/R

分享到:
评论

相关推荐

    并发用户数、吞吐量、思考时间的计算公式

    本篇文章将从三个方面进行探讨,分别是软件性能的关注点、软件性能的几个主要术语和性能测试指标计算公式。 一、软件性能的关注点 在软件设计、部署、使用、维护中,有多个角色参与,每个角色关注的性能点不同。站...

    系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

    本文来自于csdn,文章主要从系统吞度量要素,系统吞吐量评估,软件性能测试的基本概念和计算公式等等方面来介绍。一.系统吞度量要素:一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联...

    软件工程知识点

    需求规格说明书是需求分析阶段需要交付的基本文档,将成为开发者进行软件设计和用户进行软件验证的基本依据,涉及引言、术语定义、用户需求、系统体系结构、系统需求等有关软件需求及其规格的诸多描述与定义。...

    软件设计规范

    2)软件的量层次上,软件的规模、运行强度和稳定性指标的自测试程序。 第二阶段 一定要有一个标准。软件如衣服,软件的交付文档应当显示出衣服是如何编织起来的。(相对于需求,软件是衣服,非核心;相对于硬件,...

    信号检测的基本理论.ppt

    信号检测的基本理论还有许多其他的重要概念和技术,例如假设检验的性能、接收机的工作特性、M 择一假设检验、序列检验等。 信号检测的基本理论是指在某种最佳理论基础上对信号进行有效检测的理论。它主要应用于雷达...

    网站性能测试工具?ApacheBench

    对于网站性能测试来说,一般我们会使用loadrunner来实现,而它过于庞大,使我们感到有些不爽,而介绍的ApacheBench工具,它小而精,使用简单,效果直观,可以说,是比lr更好用的性能测试工具.  下面介绍几个概念 ...

    计算机应用基础复习提纲.doc

    计算机安全的基本知识和计算机病毒 计算机安全、计算机病毒的基本知识和基本概念 2.网络安全 网络安全的基本概念 3.防火墙、系统更新与系统还原 防火墙、系统更新与系统还原的基本知识 计算机多媒体技术部分 1....

    服务器能力计算.docx

    服务器能力计算全文共9页,当前为第1页。服务器能力计算 服务器能力计算全文共9页,当前为第1页。 服务器能力计算全文共9页,当前为第2页。 服务器能力计算全文共9页,当前为第2... 实际存储容量(G) 计算公式为 G= ((A

    计算机二级C语言考试题预测

    改善软件的性能 D.挖掘软件的潜能 (49) 按条件f对关系R进行选择,其关系代数表达式为(C) A. R|X|R B. R|X|Rf C. бf(R) D. ∏f(R) (50) 数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)...

    控制流图,环形复杂度,矩阵,独立的路径集合

    控制流图、环形复杂度、矩阵和独立的路径集合 控制流图(Control Flow Graph,CFG)是一种有向...控制流图、环形复杂度、矩阵和独立的路径集合是软件测试和分析中的重要概念,它们广泛应用于软件开发、测试和优化中。

    《计算机应用基础》课程标准【模板】.docx

    2 3 Word文字处理软件的使用 Word基本格式与页面设置 4 图文混排设置 4 表格制作与表格计算 4 长文档排版设置 2 4 Excel电子表格软件的使用 Excel工作表格式化操作 4 Excel公式和函数的操作 4 Excel数据处理操作 4 ...

    Java常用算法手册源代码

    **章 算法和实现算法的Java语法 1.1 建立算法初步概念 1.1.1 什么是算法 1.1.2 算法的发展历史 1.1.3 算法的分类 1.2 算法相关概念的区别 1.2.1 算法与公式的关系 1.2.2 算法与程序的关系 1.2.3 算法与数据结构的...

    陶氏反渗透膜的脱盐率及透盐率分析.pdf

    回收率的计算公式为:回收率 =( 产水量 / 进水流量 ) ╳ 100%。 脱盐率 脱盐率是指通过反渗透膜从系统进水中去除总可溶性的杂质浓度的百分率,或通过纳滤膜脱除特定组份如二价离子或者有机物的百分数。脱盐率的...

    数据挖掘导论 中文完整版

    84 参考文献 85 习题 86第4章 分类:基本概念、决策树与模型评估 89 4.1 预备知识 89 4.2 解决分类问题的一般方法 90 4.3 决策树归纳 92 4.3.1 决策树的工作原理 92 4.3.2 如何建立决策树 93 4.3.3 表示属性测试条件...

    数据结构与算法:C++描述

    本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一...

    C++语言描述(PDF合集)

    3.3.1 基本概念 77 3.3.2 异常类NoMem 79 3.3.3 操作 79 3.3.4 评价 83 3.4 链表描述 86 3.4.1 类ChainNode 和Chain 86 3.4.2 操作 88 3.4.3 扩充类Chain 91 3.4.4 链表遍历器类 92 3.4.5 循环链表 93 3.4.6 与公式...

    数据结构算法与应用-C__语言描述

    本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一...

    数据结构算法与应用-C++语言描述

    讲述了c++的各种使用的数据结构和算法,对于初学者和已经入门的都很有帮助,里面的内容有 目 录 译者序 前言 第一部分 预备知识 第1章 C++程序设计 1 1.1 引言 1 1.2 函数与参数 2 1.2.1 传值参数 2 1.2.2 模板函数 ...

Global site tag (gtag.js) - Google Analytics