zoukankan      html  css  js  c++  java
  • 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获得的事务的时间要小一些,这是由于测试工具自身的原因造成的,可以不必理会。
    
    同时,如果想知道查询过程中哪个关键字搜索结果错误,也可以加上验证点,同时可以再加一些代码,把搜索超过一定时间的关键字过滤出来。
    

      

  • 相关阅读:
    删除无效的SQL SERVER组中的注册的几种方法
    SQLServer中把某个表里的记录复制到另一个数据库的表中
    文件上传 带进度条(多种风格)
    Team Leader你会带团队吗?你懂合作吗?你好像都不会啊!(上)
    整理.Net代码生成器(转)
    SQL SERVER 2000数据库,转换为ACCESS数据库(已解决ACCESS自动编号问题)
    js中prototype用法
    js在火狐和IE浏览器的差异
    Varnish介绍
    C# 4.0 新特性
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4401500.html
Copyright © 2011-2022 走看看