软件性能测试(连载2)

简介: 软件性能测试(连载2)

1.4  性能测试指标


1.响应时间(Response Time


响应时间=用户响应时间+端响应时间+网络响应时间+服务器端响应时间+数据库响应时间,是反映系统处理效率的指标之一。


响应时间是从开始到完成某项工作所需时间的度量。嵌入式产品,响应时间不包括人的反应时间,而对于其他产品,大多数都是人机交互的,响应时间体现在人的直观体验感受。在B/S系统中有一个著名的2/5/10原则,即网页在0-2秒内显示,所有用户可以接受;在2-5秒内显示,大部分用户可以接受;5-10秒内显示,只有少部分用户可以接受;10秒以上就几乎没有用户可以接受了。


另外合理的响应时间要与用户需求相结合,如在银行输入系统中,导入数据花费2个小时,那么输出响应能在20分钟内完成,性能就很不错了。


通过图3-6可以看出,响应时间=B1+W1+S1+W2+D+W3+S2+W4+B2,其中。

W1W2W3W4。网络响应时间。

B1B2。前端响应时间。

S1S2。服务器响应时间。

D=数据库处理时间。

image.png

3-6  响应时间


案例3-6:某网站的表单提交响应时间。

一个网站前端使用的是HTML5+CSS3+JavaScript+Ajax技术,服务器语言采用的是JSP+JavaBean技术,数据库采用的是Orcale。该网站某个表单提交的响应时间包括如下步骤。

1)用户输入信息提交表单的时间。

2)前端验证输入信息的时间。

3)前端处理输入信息的时间。

4)前端输入信息传输到Web Server的时间。

5jsp+javabean程序处理输入信息的时间。

6)输入信息从Web ServerOracle的传输时间。

7Oracle插入数据处理时间。

8Oracle将插入数据成功与否的信息传输到Web Server的时间。

9Web Server将插入数据成功与否的信息传输到前端的时间。

10)前端插入数据成功与否的信息展示时间。

11)用户接收到显示信息的时间。


2. 吞吐率(Throughput Rate

吞吐率是单位时间内的吞吐量吞吐量是服务器所能处理事务的能力。吞吐率的单位为字节数/秒、业务数/秒、点击数/秒、请求数/秒。随着负载的增加,吞吐往往增长到一个峰值后,然后下降,队列变长。注意:在性能测试领域吞吐量是没有意义的,吞吐率才有意义。比如说某台服务器可以处理5T大小的数据,那么多的数据是1小时内处理完毕还是一天(24小时)处理完毕?如果是1小时内处理完毕,吞吐率为5T/h,性能是非常不错的;但是如果是24小时内处理完毕,吞吐率为5T÷24=208 G/h,性能就差很多。


为了让各位更好地理解吞吐率。以马路作为一个例子,见图3-7


image.png

3-7  马路的吞吐率


当马路上只有一辆车子运行,车子运行是非常畅通的,吞吐量也为1;随着汽车越来越多,单位时间内通过的车越来越多,也就是说这时候马路上车的吞吐量为nn>1);随着更多的车子加入,马路达到饱和,出现了堵车的情形。虽然想进入这条马路上的车和在这条马路上的车为k,但是马路上最多可以行使的车保持在m辆(n<m<k)。也就是说马路达到了拐点,最多处理能力为同时行驶m辆车。。


案例3-7:理发师模型

理发师模型是经典的解释吞吐率与响应时间的模型。比如有一家理发馆,里面有3名理发师,每个理发师水平相当,每给一位顾客理发需要10分钟的时间,如表3-1所示。


3-1理发师模型

设置并发数

总响应时间

平均响应时间

实际并发数

1

10分钟×1=10分钟

10分钟/1=10分钟

1

2

10分钟×2=20分钟

20分钟/2=10分钟

2

3

10分钟×3=30分钟

30分钟/3=10分钟

3

4

20分钟×1+10分钟×3=50分钟

50分钟/4=12.5分钟

3

5

20分钟×2+10分钟×3=70分钟

70分钟/5=14分钟

3

6

20分钟×3+10分钟×3=90分钟

90分钟/6=15分钟

3

7

30分钟×1+20分钟×3+10分钟×3=120分钟

120分钟/7=17.1分钟

3

8

30分钟×2+20分钟×3+10分钟×3=150分钟

150分钟/8=18.75分钟

3

9

30分钟×3+20分钟×3+10分钟×3=180分钟

180分钟/9=20分钟

3


当有1个人来理发的时候,需要10分钟的理发时间、平均响应时间为10分钟、实际并发数为1

当有2个人来理发的时候,2个人可以同时进行,共需要10×2=20分钟的理发时间、平均响应时间仍旧为20/2=10分钟、实际并发数为2

当有3个人来理发的时候,3个人仍旧可以同时进行,共需要10×3=30分钟的理发时间、平均响应时间仍旧为30/3=10分钟、实际并发数为3

当有4个人来理发的时候,3个人可以同时进行,但有1个人需要等到下一轮,这个时候需要20分钟×1+10分钟×3=50分钟的理发时间、平均响应时间为50/4=12.5分钟、由于理发师没有增加,实际并发数仍旧为3

当有5个人来理发的时候,3个人可以同时进行,2个人需要等到下一轮,这个时候需要20分钟×2+10分钟×3=70分钟的理发时间、平均响应时间为70/5=14分钟、由于理发师没有增加,实际并发数仍旧为3

当有6个人来理发的时候,3个人可以同时进行,3个人需要等到下一轮,这个时候需要20分钟×3+10分钟×3=90分钟的理发时间、平均响应时间为90/6=15分钟、由于理发师没有增加,实际并发数仍旧为3

当有7个人来理发的时候,3个人可以同时进行,3个人需要等到下一轮,1个人需要等到两轮,这个时候需要30分钟×1+20分钟×3+10分钟×3=120分钟的理发时间、平均响应时间为120/7=17.1分钟、由于理发师没有增加,实际并发数仍旧为3

当有8个人来理发的时候,3个人可以同时进行,3个人需要等到下一轮,2个人需要等到两轮,这个时候需要30分钟×2+20分钟×3+10分钟×3=150分钟的理发时间、平均响应时间为150/8=18.75分钟、由于理发师没有增加,实际并发数仍旧为3


3-8和图3-9分别是理发师模型平均响应时间、实际并发数与设置并发数对应曲线。

image.png

3-8  理发师模型平均响应时间与设置并发数对应曲线图


image.png

3-9  理发师模型实际并发数与设置并发数对应曲线

在不到拐点的场景下,随着设置并发数的增加,平均响应时间基本保持不变,并且实际并发数与设置并发数保持一致;当超过拐点的场景下,随着设置并发数的增加,平均响应时间持续上升,而实际并发数在最高值保持不变。这与软件性能测试的情形是基本吻合的。如果要提高性能从硬件上考虑可以增加理发师,从软件上考虑可以加强理发师水平,减少给每一位顾客理发的时间。


3. 资源利用率(Resource Utilization

资源利用率=资源实际使用量/总的资源可用量。资源利用率反映系统能耗指标,包括。

CPU利用率。

•内存利用率。

•硬盘空间利用率。

•网络带宽利用率。


3-10上面是某一进程对于CPU的利用率曲线图,图3-11下面是某一进程对于虚拟内存和物理内存的使用量的曲线图。

image.png

3-10  CPU的资源利用率


image.png

3-11  内存的资源利用率


4. 性能计数器(Performance Counter

性能计数器是反映系统性能的重要参考指标。如何通过查看这些计数器来观察系统性能是需要通过平时积累的。关于Linux性能计数器的问题在Linux性能监控中结合命令行进行讨论,将在第2.2节中进行详细描述。Windows性能监控可以通过“开始菜单->控制面板->管理工具->性能”查看,如图3-12所示,将在第21节中进行详细描述。除了操作系统计数器,还有数据库计数器、中间件计数器、Web Service计数器等。

image.png

3-12 Windows下查看计数器


5. 并发用户数与在线用户数(Number of Concurrent UsersNumber of Online Users


并发用户数与在线用户数的区别在于,并发用户数是一批用户同时在干同一件事情(事务),如登录系统,可参见4.3.2-1章节介绍。而在线用户数指一些用户在系统上,有些在浏览网页、有些在查询、有些进入系统,还有些在做其他与系统无关的事情等。

案例3-8:并发用户数与在线用户数。


一个网站有3000人在线。30%的用户(900人)在浏览页面、20%的用户(600人)在填写订单、5%的用户(150人)在提交订单、15%的用户(450人)在查询订单、30%的用户(900人)干其他事情,比如做饭,照顾孩子。在这3000人里面,不考虑页面定时更新的情况下,实际对系统产生压力的仅仅为处于提交订单、查询订单的600人,占所有在线用户的20%


6.思考时间(Tinking Time

思考时间也称休眠时间,从业务角度来说,该时间指的是用户在操作时,每个请求之间的间隔时间


案例3-9:思考时间

某个用户登录系统后,过了5秒,开始往模糊查询中输入查询内容,从输入到按点击用了10秒,查询结果出来后,停留了20秒又进入某个查询结果的详细页面。这里,登录后5秒,输入花费的10秒,停留的20秒都是思考时间。

在思考时间设置中LoadRunner提供了按照录制时间、录制时间的倍数、录制时间的某一百分比空间和一个固定的值4种方式。而在不加插件的情况下,JMeter只能设置一个固定的值。

目录
相关文章
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
566 3
|
8月前
|
Java 测试技术 网络安全
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
355 0
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
|
测试技术 开发者 Python
自动化测试之美:从零构建你的软件质量防线
【10月更文挑战第34天】在数字化时代的浪潮中,软件成为我们生活和工作不可或缺的一部分。然而,随着软件复杂性的增加,如何保证其质量和稳定性成为开发者面临的一大挑战。自动化测试,作为现代软件开发过程中的关键实践,不仅提高了测试效率,还确保了软件产品的质量。本文将深入浅出地介绍自动化测试的概念、重要性以及实施步骤,带领读者从零基础开始,一步步构建起属于自己的软件质量防线。通过具体实例,我们将探索如何有效地设计和执行自动化测试脚本,最终实现软件开发流程的优化和产品质量的提升。无论你是软件开发新手,还是希望提高项目质量的资深开发者,这篇文章都将为你提供宝贵的指导和启示。
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
395 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
597 4
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
|
12月前
|
测试技术
软考软件测评师大题——案例分析之白盒测试
历年下午案例试题一固定考察白盒测试,主要包含三大核心问题:推导逻辑条件、绘制控制流图及计算环路复杂度、确定线性无关路径集合。内容涵盖覆盖层级标准(语句、分支、判定、条件覆盖等)、控制流图构建规范(顺序、分支、循环结构转换原则)、环路复杂度计算公式以及线性无关路径生成方法。通过典型题型示例解析,如代码路径分析与验证指标,帮助考生掌握解题思路和技巧。
|
12月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
12月前
|
安全 测试技术 持续交付
软考软件评测师——基于风险的测试技术
本文详细阐述了测试计划的核心要素与制定流程,涵盖测试范围界定、实施策略规划、资源配置及风险管理机制。通过风险识别方法论和评估模型,构建了完整的质量保障体系。同时,针对不同测试级别与类型提供具体配置建议,并提出技术选型原则与实施规范,确保测试活动高效有序开展,为项目成功奠定基础。内容结合实际经验,具有较强指导意义。