基于性能测试工具kylinTOP构建虚拟用户自身请求的并发模型

发表于:2020-7-10 09:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:阳光    来源:网络

  在对于WEB系统进行性能测试时,第一时间想到的是测试出WEB系统能够承受的最大并发虚拟用户(VU)用户数,因为系统的最大VU并发数可以直接反应系统的承载能力。但是人们往往忽略了VU的并发模型。什么是VU的并发模型呢?如下图所示,我们使用浏览器访问一个页面,浏览器会有多个HTTP请求发向服务端,这些请求有串行的也有并行的(water中有时间重叠的请求属于并行请求。串行请求是指:前一请求结束,后一请求才下发请求)。如果性能测试工具提供WEB录制功能并能按照浏览器的行为模型模拟VU行为,那是最好的了(如果你使用JmeterLoadRunner 11那么工具是无法做到的,截止目前我了解到的性能测试工具:kylinTOP可以实现(Jmeter,CPTS(华为),PTS(阿里)均无法实现),但本文并是不讨论如何使用kylinTOP来录制脚本并模拟浏览器的行为,而是如何利用kylinTOP手工构建这样的场景。为什么要手工构建呢,主要是有些web系统对外提供的服务不是WEB页面,而是HTTP接口功能,对这种场景就需要我们手工来构建。
  如果被测试系统是一个WEB服务系统,对外提供的HTTP接口不是WEB页面,而是HTTP接口功能。对于这种系统我们应当怎样测试性能呢?要想测试出它能承受的最大并发VU数,首先要分析其VU的请求模型。假定VU的请求模型如下所示。
  VU请求模型描述:已知一个WEB系统对上层用户提供A、B、C、D、E、F、G、H、I共9个接口请求。上层用户使用这9个请求的约束要求是A、B是串行下发,C、D、E、F四个请求并行下发,G、H、I是串行下发。按照如下的瀑布图形下发请求:
  一个上层用户对WEB系统来说就是一个VU,那么如何手工构建这样的请求模型呢?
  步骤1:新建脚本
  步骤2:创建请求节点和描述节点
  通过“增加”按钮添加HTTP请求节点和描述节点。同时把要并发的请求移动到描述节点下面(作为描述节点的子节点,同时描述节点名称输入:start_concurrent)
  说明:kylinTOP手工添加的HTTP请求节节点默认是串行的,“描述节点”的子节点处理为并发请求(描述节点的名称必须是:start_concurrent,否则当作串行处理)。
  步骤3:脚本属性修改
  设置脚本的“高级设置-虚拟用户“,属性值选择下图标志中的任意一个。
  步骤4:调试脚本
  点击调试按钮,生成如下所示VU瀑布图。该瀑布图中:CDEF四个是并发请求,其余是串行请求,与场景要求一致。
  说到这里,脚本运行的瀑布图与场景要求已经完全一致。后续使用该脚本新建测试任务运行即可测试获得系统可承受的最大VU数。如果使用Jmeter,PTS等其它性能测试工具测试,VU的HTTP请求模型将是一个线性请求(串行请求),无法生成上述场景描述要求脚本,测试结果也是非常不准确的。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号