使用WEB SERVICES协议测试数据库响应性能

上一篇 / 下一篇  2014-03-12 10:03:44 / 个人分类:LOADRUNNER

之前有个项目需要对数据库响应时间做性能测试,非ORACLE,MSSQL,MYSQL,是一款国产数据库,开发接口使用ODBC。刚开始的时候,通过WEB SERVICES进行脚本编写后,可正常执行,脚本如下:
lr_start_transaction("TEST");
lr_db_executeSQLStatement("StepName=SQL6", 
                          "ConnectionName=db1", 
                          "SQLStatement=...;", 
                          "DatasetName=Mydataset", 
                           LAST);
lr_end_transaction("TEST", LR_AUTO);
本来需求是统计整个事务的时间,包括发起请求---数据库执行---响应,但是在并发场景中发现它把数据库执行时间算成了浪费时间,给直接忽略了。而在场景选项中,又没有发现能够统计浪费时间选项配置(如有大神知道,请指导,谢谢)。
这个时候就卡住了,难道就没有办法解决这个了么。找啊找啊,确实发现了可以统计持续时间和浪费时间的函数,但是统计来的东西需要输入到文本,这个时候问题来了,如果有上千个结果,需要人为的去统计分析,那不是很麻烦吗?强大的LR应该有处理方案才对啊。再次F1,看它相关的函数,最后终于找到了一个函数lr_set_transaction,以此结合lr_get_transaction_wasted_time,最终解决了一直困扰的问题。最终的脚本改写为:

double trans_time;
lr_start_transaction("Q12"); 
lr_db_executeSQLStatement("StepName=SQL12", 
                          "ConnectionName=db1", 
                          "SQLStatement=...;", 
                          "DatasetName=Mydataset", 
                          LAST);
trans_time=lr_get_transaction_wasted_time("Q12");
lr_set_transaction("SQL12_CAST",trans_time,LR_AUTO);  
lr_end_transaction("Q12", LR_AUTO);
这样,人为的把数据库执行的时间为指定给一个事务,加入LR的统计项,得到想要的数据。

当然,这仅仅是我的一个处理方案,可能还有配置项或者更优的处理方案,如有大神指导,不胜感激。

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 812
  • 日志数: 1
  • 建立时间: 2014-03-12
  • 更新时间: 2014-03-12

RSS订阅

Open Toolbar