LoadRunner如何获得参数化中每个关键字的搜索响应时间
LoadRunner如何获得参数化中每个关键字的搜索响应时间
在测试搜索引擎时我们一般采用大量的搜索关键字,有时有必要了解在并发访问的情况下每个关键字的响应时间,一般如果不对脚本进行处理的话你可以获得每个关键字的响应时间但是这些时间没有跟相应的关键字对应,所以对程序的调优没有什么大的帮助,这里介绍一种方法,可以让你知道在并发访问下每个关键字的响应时间。 解决办法是可以把搜索搜索的操作定义为一个事务,事务名也用参数值代替,这样就可以从测试结果中知道该关键字的响应时间了。举例如下: #include “web_api.h” Action() { lr_start_transaction(lr_eval_string(”{SearchParam}”)); web_url(”s”, “URL=http://www.baidu.com/s?wd={SearchParam}”, “Resource=0″, “RecContentType=text/html”, “Referer=”, “Snapshot=t1.inf”, “Mode=HTTP”, LAST); lr_end_transaction(lr_eval_string(”{SearchParam}”), LR_AUTO); return 0; } 这样就可以在场景运行时通过事务监视图中就可以看到每个关键字的所用的时间了。 这种方法的缺点是当关键字比较多时,监视器中行数会增多,可能导致Controller显示不下。 还有一种方法,示例如下: #include “web_api.h” Action(){ float trans_time; lr_start_transaction(”sousuo”); web_url(”s”, “URL=http://www.baidu.com/s?wd={SearchParam}”, “Resource=0″, “RecContentType=text/html”, “Referer=”, “Snapshot=t1.inf”, “Mode=HTTP”, LAST); trans_time = lr_get_transaction_duration(”sousuo”) * 1000; lr_output_message(”SearchParam:%s,duration:%fms”,lr_eval_string(”{SearchParam}”),trans_time); lr_end_transaction(”sousuo”, LR_AUTO); return 0; } 一般使用这种方法比较好,可以把lr_output_message函数换为自定义的函数,把结果写到一个结果文件中去,注意写入的文件最好以vuser id来命名,这样可以保证同时只有一个进程在读写这个文件(这样一来不同的用户读写不同的文件,否则如果所有用户写入同一文件在用户数多的情况下并发可能造成对同一文件的访问共享违例,获得vuser id的函数为lr_whoami)。另外需要说明的是这里获得的事务时间可能比通过lr_start_transaction和lr_end_transaction获得的事务的时间要小一些,这是由于测试工具自身的原因造成的,可以不必理会。 同时,如果想知道查询过程中哪个关键字搜索结果错误,也可以加上验证点,同时可以再加一些代码,把搜索超过一定时间的关键字过滤出来。
LoadRunner如何获得参数化中每个关键字的搜索响应时间的更多相关文章
- loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取
转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ...
- loadrunner 脚本优化-参数化之Parameter List参数同行取值
脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...
- Java中的关键字 transient
先解释下Java中的对象序列化 在讨论transient之前,有必要先搞清楚Java中序列化的含义: Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息 ...
- js中this关键字测试集锦
参考:阮一峰<javascript的this用法>及<JS中this关键字详解> this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在 ...
- 【转载】C/C++中extern关键字详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定. 也就是说extern ...
- 【转】java中volatile关键字的含义
java中volatile关键字的含义 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言 ...
- 深入解析Javascript中this关键字的使用
深入解析Javascript中面向对象编程中的this关键字 在Javascript中this关键字代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如: function TestFun ...
- C/C++中extern关键字解析
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定. 也就是说extern ...
- C++中typename关键字的用法
我在我的 薛途的博客 上发表了新的文章,欢迎各位批评指正. C++中typename关键字的用法
随机推荐
- numpy计算路线距离
numpy计算路线距离 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 enumerate遍历数组 np.diff函数 numpy适用数组作为索引 标记路线上的点 \[X={X1,X ...
- IOS TableView滑动不灵敏问题
TableView的默认的不常用的属性,我们尽量不要去改,如下面标注的几个
- linux网卡的开启
一:文件配置网卡在开机时,自动启用 首先我们使用 ip addr查看IP信息 [root@redhat2 network-scripts]# ip addr : lo: <LOOPBACK,UP ...
- 2017 清北济南考前刷题Day 5 morning
期望得分:100+100+0=200 实际得分: 坐标的每一位不是0就是1,所以答案就是 C(n,k) #include<cstdio> #include<iostream> ...
- Centos7 设置静态IP后重启网络服务出错
systemctl restart networkJob for network.service failed because the control process exited with erro ...
- 20155325 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结 分类 输入流&输出流 字节流&字符流 节点流&处理流 核心方法 Input Stream int read(byte[]b,int off,int len) ...
- 【leetcode 简单】 第八十八题 猜数字大小
我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字是大了还是小了. 你调用一个预先定义好的接口 guess(in ...
- linux源码安装nginx
任务目标:源码安装nginx,作为web服务修改配置文件,让配置生效,验证配置 首先要去官网nginx.org下载一个tar包: tar xvf 解包 进入到解包出来的目录,对configure进行配 ...
- Mac 下 gzip 一个文件
gzip -k xxx.json -k 会保留源文件
- Servlet笔记3--Servlet生命周期
Servlet生命周期: