2023年11月29日发(作者:)
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 -: SSL protocol error when attempting to connect with host "„"
27778
解决方案:
在virtual user generator 内,vuser->run-time settings->preferences->advanced里勾上
WININET replay instead of Sockets。
3、Error -: Server has shut down the connection prematurely HTTP
27791
Status-Code=503 (Service Temporarily Unavailable)
1:一般是在访问应用服务器时出现,大用户量和小用户量均会出现; 来自网上的解
释: 1> 应用访问死掉
小用户时:程序上的问题。程序上存在数据库的问题 2> 应用服务没有死 应用服务参数
设置问题 例如:
在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是
Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到
connection refused消息,说明应提高该值,每次增加25% Java连接池的大小设置,或JVM
的设置等 3> 数据库的连接
在应用服务的性能参数可能太小了
数据库启动的最大连接数(跟硬件的内存有关)
4>有时关闭卡巴斯基也会解决如上问题
4、Error -: Time out while processing URL= „
27498
错误分析:
这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,
所以这个错误是正常现象,是压力过大造成的。
如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误
信息会定位某个具体问题发生的位置。
解决方法:
例如上面的错误现象问题定位在某个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 -: Pending web_reg_save_param/reg_find/create_html_param[_ex]
27259
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 -: Overlapped transmission of request to "www." for
27740
URL"www./" failed: WSA_IO_PENDING
解决办法:
在脚本的最前面加上web_set_sockets_option("OVERLAPPED","0");
8.关于Error -: Error -27790:Error -27740:错误的解决方法:
27791
错误如下:
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");
9.Error -: Failed to transmit data to network: [10054]Connection reset by peer 这
27792
个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。 解
决办法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-Failed to connect to server 这个问题一般是客户端链接到服务失败,原因
27796
有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重,解决办法: 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 -: There is no context for HTML-based functions. A previous function may not
27985
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、在VUGen的Tools->Recording
MsgId: MMSG-26387 ,26612的错误
Options下的Recoding分支中, 将HTML-based script的单选按钮改为URL-based script 再
录制脚本,运行脚本就没有问题了 有遇到同样问题的可以试一下!
28、Error -: Step download timeout (120 seconds)的解决方法
27728
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、—W S A E I N T R
1 0 0 0 4
函数调用中断。该错误表明由于对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—W S A E S O C K T N O S U P P O RT
0 0 4 4
不支持的套接字类型。对指定的地址家族来说,没有相应的具体套接字类型支持。比如,
在向一个不支持原始套接字的协议请求建立一个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了。


发布评论