问题现象:
在使用LoadRunner对起始页做压力测试时,遇到一个大家都容易碰到的问题,即没有设置脚本运行时清除浏览器的缓存,导致虚拟用户上去了但是Http请求却没有发出去。
具体现象是这样:
1.用lr录好请求页面的脚本,启动controller连接agent对服务器打压力。
2.每1分钟增加100个虚拟用户,当达到2000个时持续5分钟。
3.执行过程中,,虽然虚拟用户按照计划在不断上涨,但是apache的Log中的http每分钟请求只有100个。按照预期,log中的http请求数应该是不断地在更新。
uIE缓存与过期时间:
每次请求页面时,IE都会做哪些事情?
1.IE在请求资源前会查询待请求的资源在缓存中是否存在。
2.如果在缓存中存在,并且过期时间未到,则直接渲染不发出请求。
3.如果在缓存中存在,过期时间已到或者无过期时间,则发出If-Modified的请求,服务器返回304。
问题现象中所描述的问题属于上述的第2条,即每个Vuser运行之后缓存了待测试页面。在随后的压力中,因为页面存在过期时间导致HTTP请求没有发出。
uLoadRunner的设置:
为了能够让lr不断地将http请求发送至服务器,我们设置在每次迭代时将缓存清除。
设置步骤如下:
1、打开Run-Time Settings:
2、设置清除缓存:
如图中,勾选”Clear cache on each iteration”。
转载请注明:
探索测试奥义,交流测试技术,欢迎关注“搜狗测试”
然后拍一些美得想哭的照片,留给老年的自己。