《LR代码错误及解决方法》由会员分享,可在线阅读,更多相关《LR代码错误及解决方法(8页珍藏版)》请在金锄头文库上搜索。
1、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 tim
2、e 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-ti
3、me 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 应用服务没有死 应用服务参数设置问题 例如: 在许多客户端连接 Webl
4、ogic 应用服务器被拒绝,而在服务器端没有错误显示,则有可能是 Weblogic 中的 server 元素的 AcceptBacklog 属性值设得过低。如果连接时收到connection refused 消息,说明应提高该值,每次增加 25 Java 连接池的大小设置,或JVM 的设置等 3 数据库的连接 在应用服务的性能参数可能太小了 数据库启动的最大连接数(跟硬件的内存有关) 4有时关闭卡巴斯基也会解决如上问题4、Error - 27498: Time out while processing URL=http:/ 错误分析: 这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响
5、应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。 如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。 解决方法: 例如上面的错误现象问题定位在某个 URL 上,需要再次运行一下场景,同时在其他机器上访问此 URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。 如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS 、网络等方面存在问题。 最后,增加一下运行时的超时设置,在“Run-Time Settings”“I
6、nternet 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 这是我犯的一
7、个低级错误。在我将登录脚本移到 Init 部分时,将登录脚本之后的浏览操作前面的 web_reg_find 脚本也一起移了过去,结果运行完 Init 部分脚本就出错了。这种错误的现象是没有进行迭代已经出错了,错误提示也很明确。这时只要把 web_reg_find 放回Action 部分的正确的位置即可。6、LR 中错误代号为 27796 的一个解决方法问题:曾经遇到过一个问题,在一次性能测试过程中,使用 http 协议的多用户向服务器发送请求。设置了持续时间,出现错误为:27796, Failed to connect to server hostname;port_ld: reason.10
8、048。分析因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有 timeout 之前就全部占满了。在全部占满后,就会出现上面的错误。执行 netstat na 命令,可以看到打开了很多端口。所以就调整 TCP 的 time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。成功的解决方法:在负载生成器的注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 里,有如下两个键值:TcpTimedWaitDelayMaxUserPort1,这里的 TcpTim
9、edWaitDelay 默认值应该中是 30s,所以这里,把这个值调小为 5s(按需要调整)。2,也可以把 MaxUserPort 调大(如果这个值不是最大值的话)。反复验证,问题解决。7、Error -27740: Overlapped transmission of request to for URLhttp:/ failed: WSA_IO_PENDING解决办法:在脚本的最前面加上 web_set_sockets_option(OVERLAPPED,0);8.关于 Error -27791: Error -27790:Error -27740:错误的解决方法:错误如下:Action
10、.c(198): Error -27791: Server has shut down the connection prematurelyAction.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 -27792: Failed to transmit data to network: 10054Con
11、nection reset by peer 这个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。 解决办法 1:Run-time setting 窗口中的Internet ProtocolPreferences设置 set advanced options(设置高级选项),重新设置一下“HTTP-request connect timeout(sec ),可以稍微设大一些”; 解决方法 2:在脚本最前面插入 web_set_sockets_option(OVERLAPPED_SEND, 0);10.Error-27796 Failed to connect to s
12、erver 这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重,解决办法: 1、 修改负载机器的 tcpdelaytime 注册表键值,改小;修改负载机器注册表中的TcpTimedWaitDelay 减小延时和 MaxUserPort 增加端口数。注:这将增加机器的负荷。 启动 regedit 命令,在注册表 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 里,有如下两个键值:TcpTimedWaitDelay、MaxUserPort 这里的 TcpTimedWa
13、itDelay 默认值应该中是 30s,所以这里,把这个值调小为 5s(按需要调整)。也可以把 MaxUserPort 调大(如果这个值不是最大值的话)。 2、 检查网络延迟情况,看问题出在什么环节; 建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率就很小了。 问题说明:因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有 timeout 之前就全部占满了。在全部占满后,就会出现上面的错误。执行 netstat na 命令,可以看到打开了很多
14、端口。所以就调整 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。 错误分析:所选择的录制脚本模式不正确,通常情况下,基于浏览
15、器的 Web 应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的 Web 应用、Web 应用中包含了与服务器进行交互的 Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript 代码、基于浏览器的应用中使用 HTTPS 安全协议,这时则使用“URL-based script”模式进行录制。 解决办法:打开录制选项配置对话框进行设置,在“Recording Options”的“Internet Protocol”选项里的“Recording”中选择“Recording Level”为“HTML-based scrip
16、t”,单击“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 functio