解决LoadRunner超时错误

在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。

  错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。

  错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改,在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,修改Step download time的值),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。

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

  错误现象2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://192.168.26.23:7001/sltd/webadl/collect/ OrderInfo.do

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


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

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

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

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

        注:以上所谓的“解决”运行过程中的超时错误,都是通过修改“Run-Time Settings”>“Internet Protocol:Preferences-Options中的相关设置来实现的,这在某些情况下,确实可以让脚本避免超时,从而脚本运行“顺利”通过, 但是有一点需要注意,之所以会有超时的现象发生,说明测试的效果是不佳的,我们测试的目的不是为了让脚本运行通过,或者说为了让脚本运行时不报错误,我们 终极目的是想知道系统的性能表现如何,所以对于测试场景运行过程中出现超时错误,这是一种不好的现象,我们需要慎重考虑与分析为什么会产生超时。