性能测试结果分析结果

article/2025/10/30 5:53:55

在做性能测试的时候,在使用LR或者jmeter等一些性能测试工具测试执行结束后,首先要做的是判断采集到的结果数据是否真实有效。多数的性能测试场景都要迭代的进行测试,因此很多测试结果本身就不能反应问题,深入分析这样的结果没啥意义。下面说一下就有效的测试结果数据进行分析做一些思考后的见解。

1、在整个测试场景的执行的时候,你要留意测试的环境是否正常,测试的过程中是否发生异常,如果发生异常,应该立刻终止测试,应为异常的测试结果是不准确的,没有意义。

举个栗子:

你在测试的过程当中,如果你发现测试机的CPU利用率经常达到100%、测试环境的网络不稳定、系统的配置参数不正确等外部的原因导致系统出现了异常的运行,这样的测试结果没有必要进行分析。这是应该先把这些问题搞定了在重新进行测试。

2、测试场景的设置是否正确、合理。当你的测试出现异常的时候,你有分析是不是异常的原因是什么,是外界原因还是系统本身原因,外界原因有配置、网络、还有就是你的场景设置本身就有问题,这点往往是你在设计的时候考虑欠缺导致的额。

举了栗子:

比如你在测试的时候,你以上来就加载全部的虚拟用户,比如同时加载1000个虚拟用户,如果客户端都还没来得及处理,这时就会出现有很多虚拟用户因不能初始化而导致失败,失败的原因就是还没有链接应用服务器。这是压力压根就没有传过去。所以正确的做法应该是可以使用逐步加压的方式尽量的把所有的数据都加载进去。

3、分析试结果直接暴露出系统问题。测试结果中正常的,往往没有必要进行分析,因为他是正常的。这时应该进一步进行测试分析,比如加压等。在加压测试的时候能反映出的问题有很多:

例如在测试中一些常见的事务响应时间过大,并发用户过低,服务器资源利用率过高CPU、内存使用过高。对于这些问题,需要深入分析其原因。

 

性能分析的原则

  1. 观察性能表现,系统在高并发下性能表现下降的最直接的表象就是响应时间变长。所以这是需要分析系统的响应时间作为起点。
  1. 判断响应时间是否满足设计的期望,2S、3S、10S等。如果不满足,说明系统的性能已经出现问题了。他既然出现问题,那么问题在哪里呢?B中解释。
  2. 系统中与时间有关的有两个部分:服务器(应用服务器和数据库服务器)处理时间、网络传输数据时间。所以能够影响响应时间的就是这俩家伙了。所以需要最这俩进行分析。如何分析呢?C中解释。
  3. 首先模拟请求的过程,如下图:

 

这处理这个过程中,总共有两个时间段,Tn,这个是网络的响应时间;Ts,这个是服务器的处理时间,包括应用服务器和数据库服务器的响应时间。通过将这两个的时间进行对比,就能分析出性能问题是网络问题还是服务器问题了。

 

  1. 对于虚拟用户与事务分析的原则:
  1. 虚拟用户是否存在失败、如果有失败的话,需要定位失败的原因并写在报告中。
  2. 在整个测试中,所有的虚拟用户是否一直稳定运行并成功执行全部事务:如果只有部分用户能够正常运行,那么说明脚本或者场景设置可能有问题。
  3. 对于失败的事务,需要找出失败的原因,同时需要注意该事务的失败是否会影响到用户也失败。
  4. 判断平均事务响应时间以及90%用户的最大响应时间
  5. 观察在整个过程中,事务的平均响应时间是否出现逐步变大,正常的事务响应时间应该是平稳的(与X轴平行)
  6. 观察服务器每秒通过的事务总数、事务通过数是否稳定,如果整个测试过程中基本不变,这是就有分析是服务器达到出来上限还是加压到了极限

 

场景设计

经过分析,场景设计不必覆盖所有功能模块,只需要测试系统中使用比较频繁的功能即可。

测试场景中设计的内容主要有登录、查看、添加、删除、修改等基本操作。

测试场景详细如下:具体参考Excel表

(1)登录(如表1-1)

表1-1登录测试场景

功能

系统支持多个用户并发进行登录

目的

测试多用户登录时系统的处理能力

方法

模拟多个用户在客户并发进入系统的操作

执行时间

5min/10min/15min/20min/25min/30min

加载方式

逐步加载(每秒50个)

并发用户数与事务执行情况

并发用户数

平均事务响应时间

最大事务响应时间

事务成功率

平均流量(bit/s)

500

 

 

 

 

1000

 

 

 

 

1500

 

 

 

 

2000

 

 

 

 

2500

 

 

 

 

3000

 

 

 

 

3500

 

 

 

 

(2)查询(如表1-2)

表1-2 查询测试场景

功能

系统支持多个用户并发进行查询

目的

测试多用户查询设备时系统的处理能力

方法

模拟多个用户在客户登录、然后并发查询设备的操作

并发用户数与事务执行情况

并发用户数

平均事务响应时间

最大事务响应时间

事务成功率

平均流量(bit/s)

500

 

 

 

 

1000

 

 

 

 

1500

 

 

 

 

2000

 

 

 

 

2500

 

 

 

 

3000

 

 

 

 

3500

 

 

 

 

(3)查询-修改设备(混合场景)(如表1-3)

表1-3 查询-修改设备测试场景

 

功能

系统支持多个用户并发进行查询、然后修改设备信息

目的

测试多用户查询设备时系统的处理能力

方法

模拟多个用户在客户登录、然后并发查询设备后进行修改设备的操作

并发用户数与事务执行情况

并发用户数

平均事务响应时间

最大事务响应时间

事务成功率

平均流量(bit/s)

500

 

 

 

 

1000

 

 

 

 

1500

 

 

 

 

2000

 

 

 

 

2500

 

 

 

 

3000

 

 

 

 

3500

 

 

 

 

 

测试的实施

模拟用户数

测试内容

测试结果

备注

500

通过jmeter测试系统是否支持500用户并发访问系统

模拟用户的操作有以下:

1、登录

2、登录、查询

3、登录、查询、修改

通过/不通过

按照场景进行测试

1000

 

 

 

1500

 

 

 

2000

 

 

 

2500

 

 

 

3000

 

 

 

3500

 

 

 

 

 


http://chatgpt.dhexx.cn/article/6XOaDlPG.shtml

相关文章

主观评价测试

一、静物测试 1.测试目的:测试IPC在室内正常照度场景下的效果 2.测试设备:色温照度计,激光红外测距仪 3.测试环境:在不同色温环境下A,TL84 CWF D65对静物场景测试图卡和人物进行拍摄,观察图像和人物效果&#xff08…

测试总结的重要性

测试总结很重要,包括项目整理的总结、个人的总结、小组的总结;做项目总结,是为了梳理整个过程,明确问题和找到原因,改进整个流程和推进项目状态越来越好。 自己目前所做的是项目的总结,会针对三方做一个总结&#xff0…

测试总结该怎么写...

最近参与了几次面试,面试者的简历中都会提及:需求或者版本测试结束后会进行版本总结,而不仅仅是提供一份测试报告。 于是特意追问了一下,总结中都包含什么内容,答复上基本都是围绕此次测试过程中发现的BUG数量以及修复…

如何分析测试结果和评估测试工作的质量

软件测试中每一项测试活动都会产生测试结果,通过测试结果来评估产品的质量体现了测试的目的和价值。而通过测试结果评估测试工作本身的质量也非常重要,能让我们及时发现测试中存在的问题,并及时改正,是测试工作进行持续改进的基础…

测试报告怎么写?

测试报告是一份描述软件的测试过程、测试环境、测试范围、测试结果的文档,用来分析总结系统存在的风险以及测试结论。 (1)测试过程测试过程需要对测试人员、测试时间、测试地点、测试版本等信息进行描述。其他测试过程中发生的关键信息均可在…

评测报告的结论如何写?

背景 最近组内同学开始编写评测报告,报告中的结论中存在以下几种情况: 1.结论是一大段文字,像散文一样 2.评测数据结果中存在多个数据维度,将所有的数据结果都罗列到结论中,主要信息不突出 3.只是将评测数据罗列到…

【Linux】syscall系统调用原理及实现

一、什么是系统调用 系统调用 跟用户自定义函数一样也是一个函数,不同的是 系统调用 运行在内核态,而用户自定义函数运行在用户态。由于某些指令(如设置时钟、关闭/打开中断和I/O操作等)只能运行在内核态,所以操作系统…

Syscall的实现

1. How does syscall works 2. Kernel定义一个系统调用的表sys_call_table,这个表定义了每个系统调用的: 系统调用号NR_xxx 及其对应的系统调用的处理函数, 系统调用号对应sys_call_table[]数组的下标, 数组项的值保存系统调用的处理函数, 如下: 3. 如下,…

system call——系统调用

1. 系统调用 系统调用是操作系统提供的有效服务界面,一般使用高级语言编写,如c和c,对于特定的较为底层的任务,则使用汇编语言指令。 2. API和系统调用 API,应用程序接口,提供应用程序与开发人员基于某软件…

syscall 系统调用

转自:http://blog.csdn.net/b02042236/article/details/6136598 5.1.5 如何使用系统调用 如图5.2所示,用户应用可以通过两种方式使用系统调用。第一种方式是通过C库函数,包括系统调用在C库中的封装函数和其他普通函数。 图5.2 使用系统调用…

linux下syscall函数

NAME syscall - 间接系统调用 SYNOPSIS #define _GNU_SOURCE #include <unistd.h> #include <sys/syscall.h> /* For SYS_xxx definitions */ int syscall(int number, ...); DESCRIPTION …

#Java干货分享:这五个网站能打通你的任督二脉,让你技术大增

现如今的程序员可是一个需要时刻学习的职业&#xff0c;尤其是目前非常火热的Java&#xff0c;作为应用最为广泛的语言&#xff0c;在这一点上体现得尤其强烈。今天分享一些网站资源给大家学习&#xff0c;希望能够为你提供帮助&#xff01; 1、GitHub 这个网站不用多说&…

redis 技术分享

1、是什么 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 2、应用场景 2.1 特点 Redis 与其他 key - …

IT技术视频分享

Hadoop 初级/中级/高级视频 需要的加入115046170QQ群

在职场,光有技术是不行的,18年老程序员职场宝贵经验分享

程序员是公认的技术型岗位&#xff0c;我们喜欢用实力说话&#xff0c;那么是否技术实力强就能在职场如鱼得水&#xff1f; 以前我觉得只要技术过硬&#xff0c;在哪都是香饽饽&#xff0c;后来发现也不尽然&#xff0c;公司不是研究所&#xff0c;在研究所里你或许可以不管不…

【多年IT经验分享】

1、分享第一条经验&#xff1a;“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要&#xff1a;“重要的道理明白太晚将抱憾终生&#xff01;”所以放在…

【干货分享】程序员常访问的国外技术交流网站汇总

搞技术的&#xff0c;如果想更高提升自身技能水平&#xff0c;英语这关是逃不了的。 ——某位不愿透露姓名的四级loser 技术人员经常会在各种技术交流社区游逛&#xff0c;大家互相学习、交流、分享、帮助。互联网拉近了地球人的距离&#xff0c;让全世界的技术人员可以聚集在一…

如何做技术分享

转载自&#xff1a;https://www.jianshu.com/p/02e63c85248f 公司最近让我做关于如何做分享的分享&#xff0c;题目定的太大&#xff0c;查了查资料&#xff0c;从演讲技巧到内容准备&#xff0c;泛泛的说意义不大。所以干脆化大为小&#xff0c;限定到技术分享的范围内。不包含…

(2021年)IT技术分享社区个人文章汇总(编程技术篇)

2021年即将成为过去&#xff0c;崭新的2022年即将到来&#xff0c;小编坚持每天给大家分享IT技术相关的文章&#xff0c;希望小编分享的文章能够给大家在日常的工作当中&#xff0c;带来一点帮助。也感谢大家对本公众号的支持&#xff0c;未来我会坚持创作&#xff0c;给大家分…