LR代码错误及解决方法
Error -27728: Step download timeout (120 seconds)
这是一个经常会遇到的问题,解决得办法走以下步骤:
1、修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receievetimeout,Step download timeout,分别建议修改为600、600、5000;
run time setting设置完了后记住还需要在controler组件的option的run time setting 中设置相应的参数;
2、办法一不能解决的情况下,解决办法如下:设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用。
2、Error -27778: SSL protocol error when attempting to connect with host "…"
解决方案:
在virtual user generator 内,vuser->run-time settings->preferences->advanced里勾上WININET replay instead of Sockets。
3、Error -27791: Server has shut down the connection prematurely HTTP Status-Code=503 (Service T emporarily Unavailable)
1:一般是在访问应用服务器时出现,大用户量和小用户量均会出现;来自网上的解释:  1> 应用访问死掉
小用户时:程序上的问题。程序上存在数据库的问题  2> 应用服务没有死应用服务参数设置问题例如:
在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%  Java连接池的大小设置,或JVM 的设置等  3> 数据库的连接
在应用服务的性能参数可能太小了
数据库启动的最大连接数(跟硬件的内存有关)
4>有时关闭卡巴斯基也会解决如上问题
4、Error -27498: Time out while processing URL= …
错误分析:
这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。
如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。
解决方法:
例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负
载。分析一下服务器,最好对其性能进行优化。
如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。
最后,增加一下运行时的超时设置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect timeout”或者“HTTP-request receive”的值。
在脚本最前面插入web_set_max_retris("5"),里面的数字根据需要可以设成5,我最大设成10。
5、Error -27259: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of the Init section
这是我犯的一个低级错误。在我将登录脚本移到Init部分时,将登录脚本之后的浏览操作前面的web_reg_find脚本也一起移了过去,结果运行完Init部分脚本就出错了。这种错误的现象是没有进行迭代已经出错了,错误提示也很明确。这时只要把web_reg_find放回Action 部分的正确的位置即可。
6、LR中错误代号为27796的一个解决方法
问题:
曾经遇到过一个问题,在一次性能测试过程中,使用http协议的多用户向服务器发送请求。设置了持续时间,出现错误为:27796, Failed to connect to server 'hostname';port_ld': 'reason'.10048。
分析
因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。
成功的解决方法:
在负载生成器的注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下两个键值:
TcpTimedWaitDelay
MaxUserPort
1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。
反复验证,问题解决。
7、Error -27740: Overlapped transmission of request to "px" for URL"px/userEntry.do" failed: WSA_IO_PENDING
解决办法:
在脚本的最前面加上web_set_sockets_option("OVERLAPPED","0");
8.关于Error -27791: Error -27790:Error -27740:错误的解决方法:
错误如下:
Action.c(198): Error -27791: Server "px" has shut down the connection prematurely Action.c(198): Error -27790: Failed to read data from server "px": [10053] Software caused connection abort Action.c(198):
解决办法:
在脚本的最前面加上web_set_sockets_option("OVERLAPPED","0");
9.Error -27792: Failed to transmit data to network: [10054]Connection reset by peer 这个问题不多遇见,
一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。解决办法1:Run-time setting窗口中的…Internet Protocol‟-…Preferences‟设置set advanced options(设置高级选项),重新设置一下“HTTP-request connect timeout(sec),可以稍微设大一些”;解决方法2:在脚本最前面插入web_set_sockets_option("OVERLAPPED_SEND", "0");
10.Error-27796 Failed to connect to server 这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重,解决办法:1、修改负载机器的tcpdelaytime注册表键值,改小;修改负载机器注册表中的TcpTimedWaitDelay 减小延时和MaxUserPort增加端口数。注:这将增加机器的负荷。启动regedit命令,在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 里,有如下两个键值:TcpTimedWaitDelay、MaxUserPort 这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。也可以把MaxUserPort调大(如果这个值不是最大值的话)。2、检查网络延迟情况,看问题出在什么环节;建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率就很小了。
问题说明:因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na
命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。
12、Error -27979:Requested form. not found web_submit_form. highest severity level was "ERROR",0 body bytes, 0 header bytes [MsgId: MMSG-27178]" 错误现象:在录制Web协议脚本回放脚本的过程中,会出现请求无法到的现象,而导致脚本运行停止。这时在tree view中看不到此组件的相关URL。错误分析:所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用HTTPS安全协议,这时则使用“URL-based script”模式进行录制。解决办法:打开录制选项配置对话框进行设置,在“Recording Options”的“Internet Protocol”选项里的“Recording”中选择“Recording Level”为“HTML-based script”,单击“HTML Advanced”,选择“Script. Type”为“A script. containing explicit”。然后再选择使用“URL-based script”。
13、Error -27985: There is no context for HTML-based functions. A previous function may not have used "Mode=HTML" or downloaded only non-HTML page(s), or the context has been reset (e.g., due to a GUI-based function)
单次运行正确,但是多次迭代运行时出错,这种错误可能比较常见,原因是在Runtime Settings的Browse Emulation中设置了Simulate a new user on each iteration引起的。由于这个设置导致每次迭代时都会模拟一个新的用户,此时这个新的用户并没有执行init操作而失败了,也即是错误提示中的There is no context。这里涉及到一个知识点就是在Rumtime Settings的迭代设置中,迭代运行次数只对Action部分有效,而Init部分和End部分还是只
运行一次的。这时如果设置了“Simulate a new user on each iteration”,将出现此错误
14、问题描述connection refused 这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同;1、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic
15、的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值;2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时间间隔大小,wiodows类似,只不过wendows修改注册表,具体修改注册表中有TcpTimedWaitDelay和MaxUserPort项,键值在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\]。因为
负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。1)这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。2)也可以把MaxUserPort调大(如果这个值不是最大值的话)。
16、问题描述open many files 问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法:1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改;2、方法一解决不了情况下再去查看应用服务器weblogic的commonEnv.s件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查到nofiles方法,修改其中else条件的执行体,把文件打开数调大;修改前记住备份此文件,防止修改出错;3、linux上可以通过ulimit –HSn 4096来修改文件打开数限制,也可以通过ulimit -a 来查看。4、linux上可以通过lsof -p pid | wc -l 来查看进程打开的句柄数。
17、Overlapped transmission of request to ... WSA_IO_PENDING这个问题,解决方法:1、方法一,在脚本前加入web_set_sockets_option("OVERLAPPED_SEND", "0"),禁用TTFB 细分,问题即可解决,但是TTFB细分图将不能再使用,2、方法二,可以通过增加连接池和应用系统的内存,每次增加25%。
18、Failed to transmit data to network: [10057] Socket is not connected 这个错误是由网络原因造成的,PC1 和PC2上面都装了相同的loadrunner 9.0,且以相同数量的虚拟用户数运行相同的业务(机器上的其他条件都相同),PC1上面有少部分用户报错,PC2上的用户全部执行通过。
19、在录制W eb协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、500错误提示。
(1)-404 Not Found服务器没有到与请求URI相符的资源,但还可以继续运行直到结束。错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。
解决办法:
在出现错误的位置进行脚本关联,在必要时插入相应的函数。
21、-500 Internal Server Error服务器内部错误,脚本运行停止。
错误分析:
服务器碰到了意外情况,使其无法继续回应请求。
解决办法:出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。
22.HTTP Status-Code=500 (Internal Server Error) for
1、应用服务当掉,重新启动应用服务。
2、2、当应用系统处于的可用内存处于阀值以下时,出现HTTP Status-Code=500的概率非常高,此时只要增加应用系统的内存,问题即可解决。
23、Error -26627: HTTP Status-Code=404 (Not Found) for www.****.htm
解决方法:
开发人员检查网站部署是否正确;产生原因:HTTP 404是指要浏览的网页在服务器中不存在,该网页可能已经迁移。
24、Error –26628:HTTP Status-Code=403 (Access Forbidden) for ".../" 解决方案如下:分析原因可能是因为被测WEB服务器用的是XP系统,本身有最大连接数的限制,就使用软件修改IIS最大连接数为1000,修改后重启再进行并发操作。
25、Error:server returned an incorrectly formatted SOAP response(回放W eb Services 协议脚本错误) 错误现象:利用LoadRunner 8.0版本来录制Web Services协议的脚本没有任何错误提示,但在回放时会出现错误,提示停止脚本运行改为。错误分析:出现此错误的原因是LoadRunner8.0在录制Web Services协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,V uGen会自动将WSDL文件的头<?xml version="1.0"encoding="zh_cn" ?>,所以才会有此错误提示。解决办法:下载两个补丁,分别为“”和“lrunner_web_ services_”安装上即可。
26、Error : 9017,Timeout expired while trying to connect 我选的是winsocket,然后录制用Windows Media player 打开一段用Windows Media Service发布的rtsp的流媒体。不管运行多少个vu都会100% fail,出现同样数量的error:Action.c(12): Error : Timeout expired while trying to connect. Error code : 9017 这个问题跟端口有关,把"LocalHost=0"去掉就好了。端口若被占用,未及时释放,别人再通过此端口发送数据,就会出错。
27、MsgId: MMSG-26387 ,26612的错误在VUGen的Tools->Recording Options下的Recoding分支中, 将HTML-based script的单选按钮改为URL-based script 再录制脚本,运行脚本就没有问题了有遇到同样问题的可以试一下!
connect to和connect with的区别28、Error -27728: Step download timeout (120 seconds)的解决方法
loadruner报错:Error -27728: Step download timeout (120 seconds)如何解决
语法检查通过,但是在并发执行一个查询时候报错Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s),请问有啥子解决方法,我使用web_set_timeout,好象不起作用,直接在option中设置timeout时间为600,(单位应该是秒吧)还是没有起作用,结果都还是提示(120seconds),说明还是以120秒来判断的;使用lrs_set_recv_timeout,语法检查不过,说明库函数里面没有这个函数。
尝试步骤:
设置超时时间到600秒,回放还是出错。
后来我设置了runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。
29、Error -27727: Step download timeout (120 seconds)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。