LoadRunner缓存设置引发的问题

问题现象:

在使用LoadRunner对起始页做压力测试时,遇到一个大家都容易碰到的问题,即没有设置脚本运行时清除浏览器的缓存,导致虚拟用户上去了但是Http请求却没有发出去。

具体现象是这样:

1. 用lr录好请求页面的脚本,启动controller连接agent对服务器打压力。

2. 每1分钟增加100个虚拟用户,当达到2000个时持续5分钟。

3. 执行过程中,虽然虚拟用户按照计划在不断上涨,但是apache的Log中的http每分钟请求只有100个。按照预期,log中的http请求数应该是不断地在更新。

u IE缓存与过期时间:

每次请求页面时,IE都会做哪些事情?

1. IE在请求资源前会查询待请求的资源在缓存中是否存在。

2. 如果在缓存中存在,并且过期时间未到,则直接渲染不发出请求。

3. 如果在缓存中存在,过期时间已到或者无过期时间,则发出If-Modified的请求,服务器返回304。

问题现象中所描述的问题属于上述的第2条,即每个Vuser运行之后缓存了待测试页面。在随后的压力中,因为页面存在过期时间导致HTTP请求没有发出。

u LoadRunner的设置:

为了能够让lr不断地将http请求发送至服务器,我们设置在每次迭代时将缓存清除。

设置步骤如下:

1、 打开Run-Time Settings:

2、 设置清除缓存:

如图中,勾选”Clear cache on each iteration”。

转载请注明:http://blog.csdn.net/sogouauto

探索测试奥义,交流测试技术,欢迎关注“搜狗测试”

时间: 2024-08-09 09:18:11

LoadRunner缓存设置引发的问题的相关文章

[转]高并发访问下避免对象缓存失效引发Dogpile效应

避免Redis/Memcached缓存失效引发Dogpile效应 Redis/Memcached高并发访问下的缓存失效时可能产生Dogpile效应(Cache Stampede效应). 推荐阅读:高并发下的 Nginx 优化方案 http://www.linuxidc.com/Linux/2013-01/78791.htm 避免Memcached缓存的Dogpile效应 Memcached的read-through cache流程:客户端读取缓存,没有的话就由客户端生成缓存.Memcached缓

LoadRunner下设置监控Windows系统资源

一般在客户端通过LoadRunner对服务器进行压力测试,都需要实时监控服务器端的系统资源. 本篇主要简单介绍一下如何设置在LoadRunner的Controller中配置监控Windows Resources,其实也可以直接在远程连接服务器端在上面开启任务管理器或者在控制面板中找到性能计数器来监控也可以,但是为了在LR进行施压过程中更便捷,我们还是要学会这个基本的配置.关于此处的配置,需要针对不同的服务器操作系统进行不同的设置,但基本思路相同.本篇以Windows系统为例,具体配置如下: 1.

Linux系统下的Nginx的缓存设置、压缩配置和自动列目录配置

(本文内所有的centos系统命令均使用斜体加粗表示,以便各位阅读) 注意!本人使用的是Lnmp脚本模式安装的Nginx 1.8.0稳定版,如果是从官网下载的版本,nginx.conf的配置文件有些不同,但是骨架是一模一样的,不耽误阅读. 缓存设置 nginx的服务器缓存能力还是值得肯定的,服务器缓存的意思就是Web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存

Nginx 笔记与总结(14)expires 缓存设置

设置缓存,可以提高网站性能. 当网站的部分内容,比如新闻站的图片,一旦发布就不太可能发生更改,此时需要用户在访问一次页面之后,把该页面的图片缓存在用户的浏览器端一段时间,就可以用到 nginx 的 expires 设置. expires 的语法参见:http://nginx.org/en/docs/http/ngx_http_core_module.html location = /images/default.gif { expires 30s; # 30m:30 分钟,2h:2 小时,30d

缓存击穿问题与缓存设置顺序原则

一.正确的缓存设置顺序: 1.读:先从DB读取之后,再写到cache中 2.更新:先更新 DB 中的数据,再删除 cache (必须是删除,而不是更新cache) 错误操作1,更新DB,同时写入cache eg:进程A写了cache,此时进程B打断了A,又写cache,并写了DB,再次轮到进程A继续写DB,此时会导致,cache中保存的是B写入的数据,而DB中保存了A写入的数据,最终数据不一致,而且这个cache一直都是脏数据,如果此时不断有进程来读取,都是存在的cache脏数据:同理,如果先写

Thinkphp 缓存和静态缓存局部缓存设置

1.S方法缓存设置 if(!$rows = S('indexBlog')){ //*$rows = S('indexBlog') $rows = D('blog')->select(); S('indexBlog',$rows,10); } $this->assign('rows',$rows); //$rows = S('indexBlog') $this->display(); 2.静态缓存 3.局部缓存

php笔记07:http响应详解(禁用缓存设置和文件下载)

演示如何通过Http响应控制页面缓存,在默认情况下,浏览器是会缓存页面的1.禁用缓存设置 (1).我在...\htdocs\http文件夹,写一个cache.php文件如下: <?php echo "hello!cache"; ?> 在浏览器中输入地址访问cache.php这个文件,结果如下: 抓包如下: (2)接下来,我们把光标放在地址栏,然后按一下回车键如下: 抓包如下:我根据数据包知道,一旦第一次刷新获取过这个页面,浏览器默认都会缓存这个页面,那么下次再次访问,就在缓

mybatis+springmvc缓存设置

开始接触mybatis,本以为缓存设置好麻烦,在网上找了好多相关的资料,说得也都好复杂,经过自己亲自实践,其实很简单的. 首先引入需要的jar包,参照pom.xml配置: 1 <!-- 缓存设置 start--> 2 <dependency> 3 <groupId>org.mybatis.caches</groupId> 4 <artifactId>mybatis-ehcache</artifactId> 5 <version&

Nginx 静态资源缓存设置

在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apache不缓存配置和nginx不缓存配置的设置.在常用的缓存设置里面有两种方式,都是使用add_header来设置:分别为Cache-Control和Pragma. nginx: location ~ .*\.(css|js|swf|php|htm|html )$ { add_header Cache-Control no-store; add_header Pragma no-ca