admin 管理员组文章数量: 888297
2024年2月20日发(作者:织梦模板的首页关键词在哪里设置)
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 Temporarily 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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters里,有如下两个键值:
TcpTimedWaitDelay
MaxUserPort
1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。
反复验证,问题解决。
7、Error -27740: Overlapped transmission of request to "" for
URL"/" failed: WSA_IO_PENDING
解决办法:
在脚本的最前面加上web_set_sockets_option("OVERLAPPED","0");
8.关于Error -27791: Error -27790:Error -27740:错误的解决方法:
错误如下:
Action.c(198): Error -27791: Server "" has shut down the connection prematurely
Action.c(198): Error -27790: Failed to read data from server "": [10053] Software
caused connection abort Action.c(198):
解决办法:
在脚本的最前面加上web_set_sockets_option("OVERLAPPED","0");
-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");
本最前面插入
-27796
Failed to connect to server 这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重,解决办法: 1、 修改负载机器的tcpdelaytime注册表键值,改小;修改负载机器注册表中的TcpTimedWaitDelay减小延时和MaxUserPort增加端口数。注:这将增加机器的负荷。 启动regedit命令,在注册表 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters里,有如下两个键值: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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]。因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat
–na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。 1)这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。 2)也可以把MaxUserPort调大(如果这个值不是最大值的话)。
16、问题描述open many files 问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法: 1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改; 2、方法一解决不了情况下再去查看应用服务器weblogic的文件,修改其中的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、在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、500错误提示。
(1)-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。
错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。
解决办法:
在出现错误的位置进行脚本关联,在必要时插入相应的函数。
21、 -500 Internal Server Error服务器内部错误,脚本运行停止。
错误分析:
服务器碰到了意外情况,使其无法继续回应请求。
解决办法:出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。
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(回放Web Services协议脚本错误) 错误现象:利用LoadRunner 8.0版本来录制Web Services协议的脚本没有任何错误提示,但在回放时会出现错误,提示停止脚本运行改为。 错误分析:出现此错误的原因是LoadRunner8.0在录制Web Services协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头,所以才会有此错误提示。 解决办法:下载两个补丁,分别为“LR80WebServicesFPI_”和“lrunner_web_ services_patch_”安装上即可。
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 再录制脚本,运行脚本就没有问题了 有遇到同样问题的可以试一下!
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)
最近测试时总出现以下提示: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
查阅相关信息说:
•A、应用服务参数设置太大导致服务器的瓶颈
•B、页面中图片太多
•C、在程序处理表的时候检查字段太大多
30、Error -27791 connection prematurely错误解答
运行Controller时遇到这个error:
Action.c(7): Error -27791: Server " 10.10.0.88" has shut down the connection prematurely
解决方案如下:
1、应用服务器死掉。小用户时程序上的问题,程序上处理数据库的问题
2、应用服务没有死。应用服务参数设置问题。例如:在许多客户端weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是weblogic中的server元素的acceptbacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%。
3、数据库的连接
在应用服务的性能参数可能太小了
数据库启动的最大连接数(跟硬件的内存有关)
4、有时关闭卡巴斯基也会解决如上问题
31、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
32、Error -27728: Step download timeout (120 seconds)的解决方法
语法检查通过,但是在并发执行一个查询时候报错Action.c(16): Error -27728: Step download
timeout (120 seconds) has expired when downloading non-resource(s)
设置了runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet
replay instead of sockets选项,
33、1 0 0 0 4—W S A E I N T R
函数调用中断。该错误表明由于对W S A C a n c e l B l o c k i n g C a l l的调用,造成了一次调用被强行中断。
1 0 0 0 9—W S A E B A D F
文件句柄错误。该错误表明提供的文件句柄无效。在Microsoft Windows CE下,s o c k
e t函数可能返回这个错误,表明共享串口处于“忙”状态。
1 0 0 1 3—W S A E A C C E S
权限被拒。尝试对套接字进行操作,但被禁止。若试图在s e n d t o或W S A S e n d To中使用一个广播地址,但是尚未用s e t s o c k o p t和S O _ B R O A D C A S T这两个选项设置广播权限,便会产生这类错误。
1 0 0 1 4—W S A E FA U LT
地址无效。传给Wi n s o c k函数的指针地址无效。若指定的缓冲区太小,也会产生这个错误。
1 0 0 2 2—W S A E I N VA L
参数无效。指定了一个无效参数。例如,假如为W S A I o c t l调用指定了一个无效控制代码,便会产生这个错误。另外,它也可能表明套接字当前的状态有错,例如在一个目前没有监听的套接字上调用a c c e p t或W S A A c c e p t。
1 0 0 2 4—W S A E M F I L E
打开文件过多。提示打开的套接字太多了。通常, M i c r o s o f t提供者只受到系统内可用资源数量的限制。
1 0 0 3 5—W S A E W O U L D B L O C K
资源暂时不可用。对非锁定套接字来说,如果请求操作不能立即执行的话,通常会返回这个错误。比如说,在一个非暂停套接字上调用c o n n e c t,就会返回这个错误。因为连接请求不能立即执行。
1 0 0 3 6—W S A E I N P R O G R E S S
操作正在进行中。当前正在执行非锁定操作。一般来说不会出现这个错误,除非正在开发1 6位Wi n s o c k应用程序。
1 0 0 3 7—W S A E A L R E A D Y
操作已完成。一般来说,在非锁定套接字上尝试已处于进程中的操作时,会产生这个错误。比如,在一个已处于连接进程的非锁定套接字上,再一次调用c o n n e c t或W S A C o
n n e c t。另外,服务提供者处于执行回调函数(针对支持回调例程的Wi n s o c k函数)的进程中时,也会出现这个错误。
1 0 0 3 8—W S A E N O T S O C K
无效套接字上的套接字操作。任何一个把S O C K E T句柄当作参数的Wi n s o c k函数都会返回这个错误。它表明提供的套接字句柄无效。
1 0 0 3 9—W S A E D E S TA D D R R E Q
需要目标地址。这个错误表明没有提供具体地址。比方说,假如在调用s e n d t o时,将目标地址设为I N A D D R _ A N Y(任意地址),便会返回这个错误。
1 0 0 4 0—W S A E M S G S I Z E
消息过长。这个错误的含义很多。如果在一个数据报套接字上发送一条消息,这条消息对内部缓冲区而言太大的话,就会产生这个错误。再比如,由于网络本身的限制,使一条消息过长,也会产生这个错误。最后,如果收到数据报之后,缓冲区太小,不能接收消息时,也会产生这个错误。
1 0 0 4 1—W S A E P R O TO T Y P E
套接字协议类型有误。在s o c k e t或W S A S o c k e t调用中指定的协议不支持指定的套接字类型。比如,要求建立S O C K _ S T R E A M类型的一个I P套接字,同时指定协议为I P P R O TO _ U D P,便会产生这样的错误。
1 0 0 4 2—W S A E N O P R O TO O P T
协议选项错误。表明在g e t s o c k o p t或s e t s o c k o p t调用中,指定的套接字选项或级别不明、未获支持或者无效。
1 0 0 4 3——W S A E P R O TO N O S U P P O RT
不支持的协议。系统中没有安装请求的协议或没有相应的实施方案。比如,如果系统中没有安装T C P / I P,而试着建立T C P或U D P套接字时,就会产生这个错误。
1 0 0 4 4—W S A E S O C K T N O S U P P O RT
不支持的套接字类型。对指定的地址家族来说,没有相应的具体套接字类型支持。比如,
在向一个不支持原始套接字的协议请求建立一个S O C K _ R AW套接字类型时,就会产生这个错误。
1 0 0 4 5—W S A E O P N O T S U P P
不支持的操作。表明针对指定的对象,试图采取的操作未获支持。通常,如果试着在一个不支持调用Wi n s o c k函数的套接字上调用了Wi n s o c k时,就会产生这个错误。比如,在一个数据报套接字上调用a c c e p t或W S A A c c e p t函数时,就会产生这样的错误。
1 0 0 4 6—W S A E P F N O S U P P O RT
不支持的协议家族。请求的协议家族不存在,或系统内尚未安装。多数情况下,这个错误可与W S A E A F N O S U P P O RT互换(两者等价);后者出现得更为频繁。
1 0 0 4 7—W S A E A F N O S U P P O RT
地址家族不支持请求的操作。对套接字类型不支持的操作来说,在试着执行它时,就会出现这个错误。比如,在类型为S O C K _ S T R E A M的一个套接字上调用s e n d t o或W
S A S e n d To函数时,就会产生这个错误。另外,在调用s o c k e t或W S A S o c k e t函数的时候,若同时请求了一个无效的地址家族、套接字类型及协议组合,也会产生这个错误。
34、[MsgId: MESG-26388] 错误解决方法:
Action.c(29): web_submit_form("") highest severity level was "ERROR",
172503 body bytes, 19076 header bytes [MsgId: MMSG-26388]
改用基于URL的脚本录制方式,然后回放后,就一切ok了。
版权声明:本文标题:LR代码错误及解决方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708390053h522305.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论