loadrunner运行场景时,常见错误及解决方法

目录

1、Error -27727:.3

2、Error -27728:.3

3、Error -27791:.3

4、Error -27492:.4

5、Error -27498:.4

6、Error -26612:.4

7、Error -27496:.5

8、Error -27995:.5

9、Error -27279:...5

10、Error -27796.5

11、Error -10489 :.5

12、Error -27492:.7

13、Error -27279:...7

14、Error -10061:...7

15、LoadRunner脚本中出现乱码:在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放停止在乱码位置,脚本无法运行。...8

16、LoadRunner HTTP服务器状态代码:在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。...9

17、LoadRunner请求无法找到:在录制Web协议脚本回放脚本的过程中,会出现请求无法找到的现象,而导致脚本运行停止。...9

18、LoadRunner不执行检查方法:在录制Web协议脚本中添加了检查方法Web_find,但是在脚本回放的过程中并没有执行。    9

19、 LoadRunner回放Web Services协议脚本错误:LoadRunner 8.0版本在录制Web Services协议的脚本时正常,但在回放时会出现错误,提示停止脚本运行。...10

21、在Controller里运行脚本,运行一段时间以后出现如下errormessages。    10


 

1、Error -27727:

Step download timeout (120 seconds)has expired when downloading resource(s). Set the“Resource Page Timeout is a Warning” Run-Time Setting to Yes/No to have this message as a warning/error, respectively

处理方法:
Run-Time Setting ------ Internet Protocol ------ Preferences ------Option ------ Step download timeout(sec)改为32000

A、应用服务参数设置太大导致服务器的瓶颈
  B、页面中图片太多
  C、在程序处理表的时候检查字段太大或多

2、Error -27728:

 Step download timeout (120 seconds)has expired when downloading non-resource(s)。

错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。

解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在"Runtime Setting">"Internet Protocol:Preferences">"Advanced"区域中设置一个"winlnet replay instead of sockets"选项,再回放是否成功。

3、Error -27791:

Server“192.168.1.77″ has shut down the connection prematurely
  解决方案如下:
  1、应用服务器死掉。小用户时程序上的问题,程序上处理数据库的问题
  2、应用服务没有死。应用服务参数设置问题。例如:在许多客户端weblogic应用服务器被拒绝,而在服
  务器端没有错误显示,则有可能是weblogic中的server元素的acceptbacklog属性值设得过低。如果连接
  时收到connection refused消息,说明应提高该值,每次增加25%。
  3、数据库的连接
  在应用服务的性能参数可能太小了,数据库启动的最大连接数(跟硬件的内存有关)
  4、有时关闭卡巴斯基也会解决如上问题
  1)观察response time 是否 超出默认的120秒
  2)检查服务器日志是否有异常以及负载是否过高
  3) web_set_timeout 设置更长的超时超时上限
  如
  web.set_timeout(”CONNECT”, “360″);
  web.set_timeout(”RECEIVE”, “360″);
  web.set_timeout(”STEP”, “360″))观察response time 是否 超出默认的120秒这个问题,要详细分析了。
  应该不会是LR自身造成的问题。
  把时间调长,就是为了,定位问题在什么地方,而不是为了绕过这个错误的出现。

4、Error -27492:

"HttpSendRequest" failed, Windows error code=12002 andretry limit (0) exceeded for URL
在runtime setting中的preferences-->options-->http-request connect timeout(sec)的值设为999。

5、Error -27498:

Timed out while processing

URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/querystat/subOrderQuery.do

错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。

如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。

解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。

如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。

最后,增加一下运行时的超时设置,在"Run-Time Settings">"InternetProtocol:Preferences"中,单击"options",增加"HTTP-request connect timeout" 或者"HTTP-requestreceive"的值。

6、Error -26612:

HTTP Status-Code=500 (Internal Server Error)

 forhttp://192.168.0.8:10001/logonConsole.do;jsessionid={JSESSIONID2}

造成HTTP-500错误,有朋友告诉我如下几个可能:

1、运行的用户数过多,对服务器造成的压力过大,服务器无法响应,则报HTTP500错误。减小用户数或者场景持续时间,问题得到解决。

2、该做关联的地方没有去做关联,则报HTTP500错误。进行手工或者自动关联,问题得到解决。

3、录制时请求的页面、图片等,在回放的时候服务器找不到,则报HTTP500错误,若该页面无关紧要,则可以在脚本中注释掉,问题将会得到解决。例如:有验证码的情况下,尽管测试时已经屏蔽了,但是录制的时候提交了请求,但回放的时候不存在响应。

4、参数化时的取值有问题,则报HTTP500错误。可将参数化列表中的数值,拿到实际应用系统中进行测试,可排除问题。

5、更换了应用服务器(中间件的更换,如tomcat、websphere、jboss等),还是利用原先录制的脚本去运行,则很可能报HTTP500错误。因为各种应用服务器处理的机制不一样,所录制的脚本也不一样,解决办法只有重新录制脚本。

6、Windows xp2 与ISS组件不兼容,则有可能导致HTTP500错误。对ISS组件进行调整后问题解决。

7、系统开发程序写的有问题,则报HTTP500错误。例如有些指针问题没有处理好的,有空指针情况的存在。修改程序后问题解决。

查找后台日志发现报了很多0ra-01000错误,这是oracle达到最大游标参数值,google了下,最大原因可能是JDBC连接没关闭。最后查找weblogic连接池出了问题,很多连接没关闭。

7、Error -27496:

内部错误(呼叫客户服务): _eStat (7) !=LRW_ITEM_STAT_ENUM_UNHANDLED for HandledTask at 048E180C

 

8、Error -27995:

Requested link ("Text=计划管理") not found [MsgId: MERR-27995]

方法:在IE中的工具—>Internet选项—>高级—>HTML设置中选择第二个脚本类型.

9、Error -27279:

内部错误(呼叫客户服务):Report initialization failed , error code =-2147467259 [MsgId : MERR-27279 ]

建议重装一下LR.这种问题有可能和你安装有关.dll文件出错不是说写的程序就能修改的.

10、Error -27796

Failed to connect to server 'hostname';port_ld': 'reason'.10048.

成功的解决方法:
在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下两个键值:
TcpTimedWaitDelay
MaxUserPort
1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。

11、Error -10489 :

Exception was raised when calling per-thread-terminate function

  在用Loadrunner实施性能测试时,采用Goal模式加压,存在如果持续长时加压时LoadRunner的Controller会报 Error -10489 : Exception wasraised when calling per-thread-terminate function错误;
  问题产生原因:
Unlike the earlier Windows versions, Windows 2000 and Windows XP have thedefault environment set to C:\Document and Settings\<user-name>\LocalSettings\Temp instead of C:\Windows\temp. This long path with a space can causeseveral problems for LoadRunner. To resolve the issue, change to a directorywithout empty spaces.
  解决方法:
在C盘(或是其它盘均可以)新建TEMP文件夹(为了后续设置临时文件准备)
右键"我的电脑"->高级->环境变量->编辑修改TEMP变量目录,指身上面新建的目录,如我的指向C:\TEMP->保存即可^_^

1> 问题描述Connection reset by peer. Error code : 10054

设置下载等的超时

用VuGen录制脚本后,回放或者加压的时候,可能会出现错误信息“Action.c(65): Error : socket6 - Connection reset by peer. Errorcode : 10054”

这是因为,下载的速度慢,导致超时,所以,需要调整一下超时时间,方法如下:

在Run-timesetting窗口中的‘Internet Protocol’-‘Preferences’设置set advanced options(设置高级选项),,重新设置一下“HTTP-requestconnect timeout(sec)”

2> 问题描述:

Error:Failed to connect to server“192.168.2.192”:[10060]Connection

Error:timed out Error:Server“192.168.2.192”hasshut down the connection prematurely

原因:

1> 应用访问死掉

小用户时:程序上的问题。程序上存在数据库的问题

2> 应用服务没有死

应用服务参数设置问题

例如:

在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%

Java连接池的大小设置,或JVM的设置等

3> 数据库的连接

在应用服务的性能参数可能太小了

数据库启动的最大连接数(跟硬件的内存有关)

3> 问题描述

Error:Page download timeout(120seconds)has expired

分析原因:

应用服务参数设置太大导致服务器的瓶颈

页面中图片太多

在程序处理表的时候检查字段太多

12、Error -27492:

"HttpSendRequest" failed, Windows error code=12002 andretry limit (0) exceeded for URL
在runtime setting中的preferences-->options-->http-request connect timeout(sec)的值设为999
Runtime Setting>Preferences>Advanced区域中设置一个winlnet replay instead of sockets选项(不勾选此项报Error -27727)

13Error -27279:

内部错误(呼叫客户服务):Report initialization failed , error code =-2147467259 [MsgId : MERR-27279 ]
警告:扩展 LrXml.dll报告在调用函数ExtPerThreadInitialize时出现错误 -1
错误: Vuser初始化扩展 LrXml.dll失败。
Vuser Terminated.

建议你重装一下LR.
这种问题有可能和你安装有关.dll文件出错不是说写的程序就能修改的.

14、Error -10061:

Connection refused

在用loadrunner进行并发测试时,[10061]Connection refused,是服务器拒绝,一种方案是调整服务器的请求数。但是,有时候是服务器拒绝对同一个ip的多次请求,这时调整服务器不好实现,可以财用ip欺骗来防止10061的产生,这也是本文讨论的主题。

Ip欺骗的步骤:

1。添加ip,2种方法:1种方法是使用loadrunner的Ip Wizard进行----打开ipwizard后按提示进行操作,没什么问题,只是需要重起下机器(小技巧:如果你在使用前,把loadrunner关闭,把agent关闭,把网卡禁用,然后使用Ip wizard后再去启动网卡、agent,则可以不重起机器);还一种方法是自己手动添加,打开本地连接,打开Tcp/ip设置(我相信能看到这的人是打开这些是不成问题的),打开高级,然后添加ip。

2。在Controller里设置ip欺骗:在Controller中点击菜单scenario,选择"Enable Ip Spoofer",这就打开了Ip欺骗,对于Ip欺骗的设置,先在菜单Tools下选上"Expert Mode"选项用于打开专家模式(感觉没有什么特殊,无非就是是后面的Options弹出的对话框多了几个选项卡),然后选择Tools下的Options,打开对话框,找到General,这时可以选择Ip欺骗的方式:为每个Process还是Thread产生ip。

3。设置场景时,多设计几组VUser(可以是针对一个叫本,每组Vuser使用一个ip,这样又多少组就是用多少组ip)。

Ok,运行场景吧,这时发出去的包是进行Ip欺骗的,想要验证的话,不妨把下面的代码放入你的叫本任意位置(当然是要能执行到的位置,不妨放在Action的开始部分,对脚本的运行没有影响):

char *ip=lr_get_vuser_ip();
if(ip){
lr_log_message("The ip address is %s",ip);
}else{
lr_log_message("IP spoofing disabled");
}

然后在运行场景前,选择几组Vuser,在后边点击"Run-TimeSetting"进行设置,这里要设置的是General--〉Log下,选中Enable Logging和Always send messages,这样运行场景后你可以查看Vuser使用的Ip(在运行场景后,点击"Vusers...",打开Vuser信息,在弹出框左上找到Log日志按钮,然后可以看到该组Vuser的运行信息,在里面可以看到使用的ip信息)。

补充:这么做是在发包时进行欺骗,但是网卡的MAC地址不会变,如果发出去的包经过DHCP(动态路由)时,欺骗就被揭发了--总之就是不成功了,因为DHCP服务器 会根据package来自的mac地址在dhcp路由器中的ip影射表里找到网卡的真实ip然后转发出去(含有个人推测,若有错误,请纠正),因此如果被测试的服务器在外网而你所在的网段使用了DHCP路由,我也没脾气了(暂时不知道怎么处理),但是如果被测服务器和你在同一个网内,ok,可以解决,思路:把服务器的网关地址指向你的测试机器,然后使用不同于局域网中的网段,例如:公司使用的是DHCP,并且使用192.168.0.X的网,可以把测试机器ip改成192.168.10.1,掩码255.255.255.0,网关指向自己192.168.10.1,然后把被测服务器ip改成:ip192.168.10.250,掩码255.255.255.0,网关192.168.10.1,ok,在测试机器上添加ip,使用192.18.10.X,然后开始测试吧。

15、LoadRunner脚本中出现乱码:在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放停止在乱码位置,脚本无法运行。

错误现象:某个链接或者图片名称为中文乱码,脚本运行无法通过。

错误分析:脚本录制可能采用的是URL-based script方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。

解决办法:重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在"Recording Options"的"Advanced"选项里先将"Surport Charset"选中,然后选中支持"UTF-8"的选项。

16、LoadRunner HTTP服务器状态代码:在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。

错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。

错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。

解决办法:在出现错误的位置进行脚本关联,在必要时插入相应的函数。

错误现象2:-500 Internal Server Error服务器内部错误,脚本运行停止。

错误分析:服务器碰到了意外情况,使其无法继续回应请求。

解决办法:出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。

17、LoadRunner请求无法找到:在录制Web协议脚本回放脚本的过程中,会出现请求无法找到的现象,而导致脚本运行停止。

错误现象:Action.c(41):Error -27979: Requested form not found [MsgId: MERR-27979]

Action.c(41): web_submit_formhighest severity level was "ERROR",0 body bytes, 0 header bytes[MsgId: MMSG-27178]"

这时在tree view中看不到此组件的相关URL。

错误分析:所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使用"HTML-based script"模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用HTTPS安全协议,这 时则使用"URL-based script"模式进行录制。

解决办法:打开录制选项配置对话框进行设置,在"Recording Options"的"InternetProtocol"选项里的"Recording"中选择"Recording Level"为"HTML-basedscript",单击"HTML Advanced",选择"Script Type"为"A scriptcontaining explicit"。然后再选择使用"URL-basedscript"模式来录制脚本。

18、LoadRunner不执行检查方法:在录制Web协议脚本中添加了检查方法Web_find,但是在脚本回放的过程中并没有执行。

错误现象:在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,但是在回放过程中并没有对设置的检查点进行检查,即Web_find失效。

错误分析:由于检查功能会消耗一定的资源,因此LoadRunner默认关闭了对文本以及图像的检查,所以在设置检查点后,需要开启检查功能。

解决办法:打开运行环境设置对话框进行设置,在"Run-time Settings"的"InternetProtocol"选项里的"Perference"中勾选"Check"下的"Enable Image andtext check"选项。

19、 LoadRunner回放Web Services协议脚本错误:LoadRunner 8.0版本在录制Web Services协议的脚本时正常,但在回放时会出现错误,提示停止脚本运行。

错误现象:利用LoadRunner8.0版本来录制Web Services协议的脚本没有任何错误提示,回放脚本时会出现如下错误提示"Error:server returned an incorrectlyformatted SOAP response"。

错误分析:出现此错误的原因是LoadRunner8.0在录制Web Services协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为<?xmlversion="1.0"encoding="zh_cn" ?>,所以才会有此错误提示。

解决办法:下载两个补丁,分别为"LR80WebServicesFPI_setup.exe"和"lrunner_web_services_patch_1.exe"安装上即可。

http://wenku.baidu.com/view/a576eb0a79563c1ec5da71c8.html

20、业务:进入借款单(显示借款单列表),新建借款单,新建后显示借款单列表(新建的借款单在此列表中有显示)
我是录制的脚本,可运行时,提示 Action.c(112):错误-26627:对于“http://192.168.1.105:8080/T3/fee/feeLoanList.action”,HTTP状态代码=404 (Not Found)

解决:

说两点:
1.手动正常未必就真正常,LR加压的时候可能连接数占满了,所以出404
2.还有一种情况,脚本里有检查语句,叫什么lr_check还是什么的,就是一个脚本内部检查是否有该资源用的,不见着他我拼不出来,如果有,注释掉看看

21、在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 theshared memory buffer max size.

  问题诱因1:

  共享内存缓存溢出,造成Controller和Load Generator之间通讯出现问题。

  解决方案:

  修改两个配置文件。

  1.$installation folder$\dat\channel_configure.dat

  2. $installationfolder$\launch_service\dat\channel_configure.dat

  在这两个文件中的[general]部分下添加如下配置。

  shared_memory_max_size=100(修改共享内存为100MB,默认是50MB)

  重新启动Controller,问题解决。

  问题诱因2

  打开 controller中的 diagnostics菜单,点掉复选框..步骤如下图

  1.

  2. 点掉 Enable the following diagnostics



猜你喜欢

转载自blog.csdn.net/qq_43443184/article/details/84317770