LoadRunner常见错误收集及解决方案

下载最新版loadrunner试用>>

一. This Vuser already started a transaction with the same name, and has not yet processed the corresponding lr_end_transaction statement.

  在做性能测试的时候,有时候会遇到下面的错误:This Vuser already started a transaction with the same name, and has not yet processed the corresponding lr_end_transaction statement.  解释:就是脚本中有一个事物开始了,但是没有结束事物,此时loadrunner就会 错,因为开始和结束是一一对应的,谁也不能把它们拆开,拆开了就会 错。  异常再现:  下列代码中,如果业务方法 了异常(Throw Exception),那么下面的if判断的代码不会被执行,而直接跳到catch子句里,那么已经开始的业务”searchItemList_man”就没有被结束,当你再次开始业务时,就会 错~

1 public int action() throws Throwable {23         misc = generateManItemSearchCondition();4                 lr.start_transaction(“searchItemList_man”);5         try {6             //业务方法7             items = searchService.searchItemList(misc);8             if (items.isSuccess()) {9                 lr.end_transaction(“searchItemList_man”,lr.PASS);1011             } else {12                 lr.end_transaction(“searchItemList_man”,lr.FAIL);13             }14             orderMap.clear();15             productIdSet.clear();16             productStatusList.clear();17         } catch (Exception e) {181920             e.printStackTrace();21         }222324         misc = null;25         items = null;26         return 0;27     }//end of action

 解决办法:  在catch字句里加上一个 事务结束代码,修改后的catch段代码如下:

catch (Exception e) {// TODO Auto-generated catch blocklr.end_transaction(“searchItemList_man”,lr.FAIL);e.printStackTrace();}

 二.Function two_way_comm_post_message / two_way_comm_post_message_ex failed错误

LoadRunner常见错误收集及解决方案  在Controller里运行脚本,运行一段时间以后出现如下error messages。  1. Code – 60990 Error: Two Way Communication Error: Function two_way_comm_post_message / two_way_comm_post_message_ex failed.  2. Code – 29739 Error: Service client with id=1 failed to post a message, reason – communication error.  3. Code – 16895 Error: Failed to post xdr buffers data array by post_ex.  4. Code – 10343 Error: Communication error: Cannot send the message since reached the shared memory buffer max size.  问题诱因1:  共享内存缓存溢出,造成Controller和Load Generator之间通讯出现问题。  解决方案:  修改两个配置文件。  1. $installation folder$datchannel_configure.dat  2. $installation folder$launch_servicedatchannel_configure.dat  在这两个文件中的[general]部分下添加如下配置。  shared_memory_max_size=100 (修改共享内存为100MB,默认是50MB)  重新启动Controller,问题解决。  问题诱因2  打开 controller中的 diagnostics菜单,点掉复选框.. 步骤如下图  1. LoadRunner常见错误收集及解决方案  2. 点掉 Enable the following diagnostics LoadRunner常见错误收集及解决方案  3. 整理了一下 这个功能是干么滴:  当场景中打开 Diagnostics 菜单下 Web Page Diagnostics 功能后, 才能得到 页分析组图。  通过该图, 可以对事务的组成进行抽丝剥茧的分析, 得到组成这个页面的每一个请求的时间分析, 进 一步了解响应时间中有关 络和服务器处理时间的分配关系。  可以实现对 站的前端性能分析, 明确系统响应时间较长是由服务器端处理能力不足还是客户端链接 到服务器的 络消耗导致的。  三. Fatal Error -26000: Not enough memory (12320 bytes) for “new buffer in LrwSrvNetTaskIt 问题解决及lr脚本心得  现象: 用loadrunner跑场景的时候 错:  Action.c(28): Fatal Error -26000: Not enough memory (12320 bytes) for “new buffer in LrwSrvNetTaskItem::AllocSrvNetBuf”. Aborting 的错误,  同时任务管理器里mmdrv.exe 内存占用一直增大,最终mmdrv.exe崩溃. 上有人认为是 lr的 emulation browser设置问题,最后发现系脚本问题,原脚本声明了好几个变量,而且都未使用:
1 Action()2 {34          //返回的字符串5     char resp_txt[200] = {0};6     //写入流的数据7     long myfile;8     //当前日期时间9     long now;10    …..11    ……1213     return 0;14 }

  解决方法及总结:  后将此三个变量注释之后问题解决.  结论:LR的脚本要注意内存的使用,尽量减少变量声明,对于char类型的变量要及时用free:即:  1  char * a;  2  free (a);下载最新版loadrunner试用>>


2016年终促销

【年末回馈最后五天,赶紧抢,手慢无!】

活动时间:12月1日-12月31日

标签:性能测试测试优化loadRunner12

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年11月23日
下一篇 2016年11月23日

相关推荐

发表回复

登录后才能评论