ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

性能测试工具之的 web 动态请求仿真度对比测评分析报告

2022-05-17 14:03:24  阅读:133  来源: 互联网

标签:web 仿真度 浏览器 请求 用户 并发 虚拟 测试工具


1. 概述

在《虚拟用户的 web 静态请求仿真度对比测评分析报告》报告中,我们了解到无论被测对象的请求模型是什么样的,Jmeter 工具的虚拟用户请求的并发模型都是串行的,LoadRunner11 工具的虚拟用户请求模型都两个两个并发的,而对于 LoadRunner12 版本就具有了有很高的是相似度。
本文在《虚拟用户的 web 静态请求仿真度对比测评分析报告》一文本的基本上进一步比较 WEB 动态请求仿真度。WEB 的 http 请求分为静态请求和动态请求,所谓动态请求,就是由浏览器执行相关代码而动态产生的 http 请求,如:javaScript

2. 概述

在《虚拟用户的 web 静态请求仿真度对比测评分析报告》报告中,我们了解到无论被测对象的请求模型是什么样的,Jmeter 工具的虚拟用户请求的并发模型都是串行的,LoadRunner11 工具的虚拟用户请求模型都两个两个并发的,而对于 LoadRunner12 版本就具有了有很高的是相似度。
本文在《虚拟用户的 web 静态请求仿真度对比测评分析报告》一文本的基本上进一步比较 WEB 动态请求仿真度。WEB 的 http 请求分为静态请求和动态请求,所谓动态请求,就是由浏览器执行相关代码而动态产生的 http 请求,如:javaScript

 

 

图 1-01
 
在 T1 时刻,只有虚拟用户 1 在运行,在 T2 时刻有虚拟用户 1-3 在运行。用户 1、用户 2、用户 3 之间的并行关系是虚拟用户并发模型。一般的性能测试工具的场景配置的就是虚拟用户并发模型,即虚拟用户之间的,而虚拟用户请求并发模型是在制作脚本的时候确定的。
虚拟用户请求的并发模型与浏览器的相似程度越高,我们就认为虚拟用户请求仿真度越高。虚拟用户请求仿真度的高低,对性能测试工具的测试结果影响非常的大具大。

3. 浏览器的请示并发模型

打开浏览器,在地址栏输入 URL 地址,浏览器就会显示我们平时看到的图形界面。浏览器与 WEB 服务端之间的交互,如下图所示。

 
浏览器与 WEB 服务器之间是协议通信交互,而与使用者之间是图形界面,在浏览器内部对协议通信的内容作了相应的图形转换,使普通的使用者能够看懂。如下所示的一个页面,图形界面显示的是一个用户登录界面,要求输入帐号、密码、验证码,还提从了一个登录按钮。对于通信层面,却有 7 个请求。
 
注:打开浏览器按 F12 键,并切换到 Network 或网络 页签,即可看到浏览器与 WEB 服务器之间的交互。上图的时间线,就是浏览器与 web 服务端之间请求的并发模型。对于性能测试工具的虚拟用户请求并发模型要与浏览器相一致。

 

4. 测试环境

4.1.测试环境配置

 

 

 

4.2.测试工具

 

 

 

4.3.测试环境组网

 

 
图 4-3-01

 

4.4.被测试对象

http://59.110.158.28/Example/

 
图 4-4-01

 

5. HTTP 请求仿真度对比

5.1.测试思路

步骤 1:Loadrunner、kylinPET 具录制同一个网页
步骤 2:建立测试计划,各自运行脚本一次,运行的过程通过(wireShark 抓包)
步骤 3:通过对 wireShark 网络抓包结果分析 HTTP 请求的顺序,然后和浏览器产生的请求并发模型对比。
注:kylinPET 工具能够记录录制和执行过程中的 HTTP 请求顺序,但 loadrunner 无此功能需要通过抓包分析。

5.2.对比基线

5.3.Microsoft Edge 浏览器的请求并发模型

使用 Edge 浏览器单独方问题 Web 服务器并记录并发请求模型,如下所示,通过打开主页输入用户名称、密码、验证码登录后,浏览器记录的请求并发模型。

 
用户操作时间是用户在输入帐号、密码、验证码以及点击登录按钮时花费的界面操作时间。
在以上请求中,最后 6 个请求为动态请求,其余为静态请求。后续的请求并发模型比较,我们重点关注后面的动态请求。
注:上图中时长为 0 的请求,通过 wireshark 抓包看,没有相应的请求包。
 

 

5.4.KylinPET 仿真度分析

5.4.1.kylinPET 脚本录制:Edge 浏览器代理录制
通过浏览器模型进行脚本录制获得如下的脚本

 
5.4.2. 执行性能测试任务
 
 
5.4.3. 测试结果分析
kylinPET 的性能测试计划执行获得用户登录事务时间与预期时间相符(预期时间在 2 秒-3 秒之间),同时它的 HTTP 请求瀑布图与浏览器单独访问 URL 得到的请求并发模型相一致。

 

5.5.LoadRuner12 仿真度分析

5.5.1.脚本录制:基于 HTML 的脚本

 
5.5.2.执行测试计划
 
 
下图是任务执行通过 wireShark 抓包绘制得到请求并发模型图(loadRunner 本身不提供虚拟用户请求并发模型图)
 
5.5.3.测试结果分析
1、 用户登录事务时间为 12 秒,远超事务的实际时间
2、 通过抓包分并绘制请求瀑布模型分析看,用户登录事务的 6 个动态请求 loadrunner 处理为串行模式(实际为并行),导致事务时间拉长。(并发请求时事务时间取决于最大请求的时间,串行时间事务时间为所有请求时间的累加值)

 

5.HTTP 请求仿真度对比总结

KylinPET 可以正确处理 web 的动态请求模型,并获得正确的事务时间。LoadRunner 在处理 web 动态请求时,把并行请求错误的处理为串行,导致事务时间拉长,获得错误事务时间,如果同样我们在使用 loadRuner 测试系统的压力测试时,相同样的的在线虚拟用户数,对系统的压力就会小 6 倍,导致测试不准,得出错误的系统允许最大在线用户数。

标签:web,仿真度,浏览器,请求,用户,并发,虚拟,测试工具
来源: https://www.cnblogs.com/huaweimossel/p/16280514.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有