博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jmeter和loadrunner测试结果差异大-web页面静态资源下载
阅读量:7000 次
发布时间:2019-06-27

本文共 1110 字,大约阅读时间需要 3 分钟。

 转载地址:

 

最近有朋友性能测试时遇到Jmeter和Loadrunner测试的结果差异很大,对结果很纠结。笔者在与之一同排查的过程中发现很多老司机也总会踩到的坑-web页面静态资源下载.

 

问题:jmeter和loadrunner测试结果差异大

描述: 一个简单的web页面,同样50并发用户,响应时间十几毫秒,Loadrunner测试结果TPS=1500,jmeter测试结果TPS=4000+,大家怎么看这个问题?

分析:可能的原因有很多,我们从以下几个方面逐步排查

1.压力机资源情况

Loadrunner体量大,消耗的资源也比Jmeter较高,这种情况观察系统CPU、内存等资源的使用情况,特别注意有事CPU使用率还在可接受范围内,但是cpu load很高(cpu load>cpu核数,说明cpu队列存在等待情况),这种情况就是压力机资源出现瓶颈了;尽量不要用个人的pc机作为压力机,高并发下资源可能存在瓶颈。

2.脚本中等待时间

对于页面的性能测试,通常为了模拟用户的真实使用情况,或者通过录制等到的脚本里面有等待时间,如lr_think_time()函数,或者在Jmeter中添加定时器,同样会对发送的压力产生影响。

3.请求是否成功

确保Loadrunner脚本添加了检查点、Jmeter脚本添加了断言,保证请求都正确响应,避免以为错误响应影响性能。

4.web页面静态资源下载

web页面中通常包含很多静态资源(非HTML资源),如js、css、图片等,这些资源可能不会经常变化,如果每次都去服务器端加载这些资源,会浪费时间和带宽,所以浏览器会把这列不常用的静态资源缓存,在使用工具压测的时候,是否模拟浏览器缓存,是否每次下载静态资源会对性能有非常大的影响。这也是本次导致jmeter和Loadrunner测试结果差距很大的原因。

 

工具中对web静态资源是否下载的配置:

1.Loadrunner默认配置的是下载静态资源,每次迭代模拟新用户,清除缓存,如图:

所以为了更好的模拟用户的使用习惯,通常是不下载静态资源,即将上面三个选项取消勾选

 

2.Jmeter默认配置的是不下载静态资源,这点与Loadrunner正好相反,如图:

 

所以,在使用Loadrunner和Jmeter测试web页面的时候,如果都使用默认选项,可能导致结果差异很大。

 

其他:

web页面静态资源下载的配置会对web页面性能测试结果有影响,对http单个请求是没有影响的,一个http请求类似于一个接口,不存在静态资源的下载情况。

 

转载于:https://www.cnblogs.com/peng-lan/p/9604966.html

你可能感兴趣的文章
读书笔记-互联网思维阅读10其中一本书《自由》
查看>>
Spark入门实战系列--5.Hive(上)--Hive介绍及部署
查看>>
tomcat设置web根目录
查看>>
CF 444B(DZY Loves FFT-时间复杂度)
查看>>
OCP-1Z0-051-名称解析-文章12称号
查看>>
UVALive 4225 Prime Bases 贪心
查看>>
Oracle B-tree、位图、全文索引三大索引性能比较及优缺点汇总
查看>>
[.net 面向对象程序设计进阶] (20) 反射(Reflection)(上)利用反射技术实现动态编程...
查看>>
【转】java中float与byte[]的互转 -- 不错
查看>>
[Ogre][地形][原创]基于OgreTerrain的地形实现
查看>>
shell登录模式及其相应配置文件(转)
查看>>
Puppet常识梳理
查看>>
web.config配置文件中的configSource属性
查看>>
发现一个国内牛逼的maven仓库,速度真的太快了
查看>>
Snmp配置
查看>>
使用java实现CNN的实战
查看>>
大白话系列之C#委托与事件讲解(二)
查看>>
linux下使用 du查看某个文件或目录占用磁盘空间的大小
查看>>
iCheck表单美化插件使用方法详解(含参数、事件等)
查看>>
IOS UIAlertController 使用方法
查看>>