码迷,mamicode.com
首页 > 其他好文 > 详细

LoadRunner出现error问题及解决方法总结

时间:2015-04-07 23:25:45      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

 一、Step download timeout (120 seconds)

  这是一个经常会遇到的问题,解决得办法走以下步骤:

  1、 修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为600、600、5000;run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数;

  2、 办法一不能解决的情况下,解决办法如下:

  设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,此法来自zee的资料。

  二、问题描述Connection reset by peer

  这个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。

  解决办法:Run-time setting窗口中的‘Internet Protocol’-‘Preferences’设置set advanced options(设置高级选项),重新设置一下“HTTP-request connect timeout(sec),可以稍微设大一些”;

  三、问题描述connection refused

  这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同;

  1、 首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加 25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值;

  2、 如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数,还有 tcp连接等待时间间隔大小,wiodows类似,只不过wendows修改注册表,具体修改方法查手册,注册表中有TcpDelayTime项;

  四、问题描述open many files

  问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法:

  1、 修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改;

  2、 方法一解决不了情况下再去查看应用服务器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,修改其中else条件的执行体,把文件打开数调大;修改前记住备份此文件,防止修改出错;

  五、问题描述has shut down the connection prematurely

  一般是在访问应用服务器时出现,大用户量和小用户量均会出现;

  来自网上的解释:

  1> 应用访问死掉

  小用户时:程序上的问题。程序上存在数据库的问题

  2> 应用服务没有死

  应用服务参数设置问题

  例如:

  在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%

  Java连接池的大小设置,或JVM的设置等

  3> 数据库的连接

  在应用服务的性能参数可能太小了

  数据库启动的最大连接数(跟硬件的内存有关)

  以上信息有一定的参考价值,实际情况可以参考此类调试。

  如果是以上所说的小用户时:程序上的问题。程序上存在数据库的问题,那就必须采用更加专业的工具来抓取出现问题的程序,主要是程序中执行效率很低的sql语句,weblogic可以采用introscope定位,期间可以注意观察一下jvm的垃圾回收情况看是否正常,我在实践中并发500用户和600用户时曾出现过jvm锯齿型的变化,上升下降都很快,这应该是不太正常的;

  六、问题描述Failed to connect to server

  这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重,解决办法:

  1、 修改负载机器的tcpdelaytime注册表键值,改小;

  2、 检查网络延迟情况,看问题出在什么环节;

  建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率就很小了。

七、问题描述:Overlapped transmission of request to ... WSA_IO_PENDING

  这个问题,解决方法:

  1、方法一,在脚本前加入web_set_sockets_option("OVERLAPPED_SEND", "0"),禁用TTFB细分,问题即可解决,但是TTFB细分图将不能再使用,附图。

技术分享

  2、方法二,可以通过增加连接池和应用系统的内存,每次增加25%。

  八、问题描述:Deleted the current transaction ... since response time is not accurate

  这个问题不多遇见,一般出现在压力机器上发生ping值为负数(AMD双核CPU),可以重新启动pc机或者打补丁,附图。

技术分享

  九、问题描述:HTTP Status-Code=500 (Internal Server Error) for

  1、应用服务当掉,重新启动应用服务。

  2、当应用系统处于的可用内存处于阀值以下时,出现HTTP Status-Code=500的概率非常高,此时只要增加应用系统的内存,问题即可解决。

  十、问题描述:Failed to transmit data to network: [10057] Socket is not connected

  这个错误是由网络原因造成的,PC1 和PC2上面都装了相同的loadrunner 9.0,且以相同数量的虚拟用户数运行相同的业务(机器上的其他条件都相同),PC1上面有少部分用户报错,PC2上的用户全部执行通过。

技术分享

  十一、问题描述:Error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of iteration number 1

  解决方法:web_reg_save_param位置放错了,应该放到请求页面前面。

  十二、问题描述:通过Controler调用远程代理时报错,Error: CCI security error:You are running under secure mode and the function system is not allowed in this mode.

  解决方法:在代理开启的时候,去掉勾选防火墙选项。

 

----------------------------------------------

1.关于Error -27791: Error -27790:Error -27740:
       错误如下:
       Action.c(198): Error -27791: Server "www.zcpx.cn" has shut down the connection prematurely
       Action.c(198): Error -27790: Failed to read data from server "www.zcpx.cn": [10053] Software caused connection abort
       Action.c(198): Error -27740: Overlapped transmission of request to "www.zcpx.cn" for URL
       "http://www.zcpx.cn/userEntry.do" failed: WSA_IO_PENDING
      解决办法:
      在脚本的最前面加上web_set_sockets_option("OVERLAPPED","0");
2.Error -27796: Failed to connect to server
      解决办法:
      在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下两个键值:
      TcpTimedWaitDelay
      MaxUserPort
      1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
      2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。
3. Error -27727: Step download timeout (120 seconds)
      查阅相关信息
      应用服务参数设置太大导致服务器的瓶颈
      页面中图片太多
      在程序处理表的时候检查字段太大多
      解决方法:
      Run-Time Setting ->Internet Protocol ->技术分享references ->Option -> Step download timeout(sec)改为32000.另外还有HTTP-request connect timeout和HTTP-request   receive timeout出现以上问题时最大可设为1000.

4. 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、有时关闭杀毒软件也会解决如上问题

 

5. Failed to connect to server "域名:80": [10065] No Route to Host
  解决:
  这种错误信息有两种情况,一是交换机堵塞,一是服务器网络堵塞或者CPU无法响应(网卡中断处理不过来了)。
  从服务器端检查下iptables 是否开启,看看 /proc/sys/net/ipv4/ip_conntrack_max 是多少。
6. TTP Status-Code=500 (Internal Server Error)
  解决:
  A. 这个问题,开发人员从程序和环境进行调优了。
  B. 通过抓包发现有大量的sql语句重复执行,建议优化sql。
  C. 优化JVM。机器配置:4G的内存,32个线程并发能力
  -Xmx3800m -Xms3800m -Xmn2g -Xss128k -XX:+UseParallelGC -XX技术分享arallelGCThreads=20
7. HTTP Status-Code=504 (Gateway Time-out)
  解决:
  502 bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
  504Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。
  解决:可以启动多个tomcat服务,一个tomcat服务可能支撑不了那么大的并发。(一般情况下像IBM高配的服务一个tomcat能支持2000并发吧。)(只能让部署环境的同事帮忙调整,我们没这权利啊。)
8. Step download timeout (120 seconds) has expired when downloading non-resource(s)
  解决:
  可以修改配置参数(tomcat的),也可以程序上进行调整超时时间。
  如 <Connector port="8080"
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
  enableLookups="false" redirectPort="8443" acceptCount="100"
  debug="0" connectionTimeout="20000"
  disableUploadTimeout="true" />

  当然了也可以调整LR的配置但最好不这样。

9.运行场景时提示“Step download timeout (120 seconds) has expired when downloading resource(s)”

vuser_init.c(12): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)(出现个别,可以忽略)
vuser_init.c(12): Error -27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Step Timeout caused by resources is a warning" Run-Time Setting to Yes/No to have this message as a warning/error, respectively
  如果觉得下载一个页面超过2分钟不是错误的话,可以在Run-Time设置中选择Preferences->Options,修改Step download timeout(sec)的时间

或者把“Step timeout caused by resources is a warning”设置为Yes,这样下载资源超时也只是作为警告,不作为错误提示。

但是对于非资源的下载超时,用LoadRunner测试时,总会报下载超时的错误:

vuser_init.c(26): Error -27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Step Timeout caused by resources is a warning" Run-Time Setting to Yes/No to have this message as a warning/error, respectively
上面报的是超时的意思,不一定是代码的问题,可能是负载比较大,服务器的响应超过了120秒,就汇报这个错误,解决方法如下:

1、 修改run time setting中的请求超时时间,默认120,你改大一些,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为600、600、5000;run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数;

2、 设置run time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,勾选。
  5. Abnormal termination, caused by mdrv process termination
  解决:
  大胆尝试了修改了LR中的D:\Program Files\Mercury\LoadRunner\dat\protocols 中的http.lrp信息,在[Vugen]下面新加一条MaxThreadPerProcess=要设置的vuser数量 。
Message Code 27979 
Requested form not found 

The form was not found in the page received from the server. Possible reasons: (i) The current or a previous HTML page was changed after the script was recorded. (ii) A previous request navigated to a wrong page or failed. (iii) One or more web_submit_form arguments are missing or incorrect (especially for manually coded, parameterized, or correlated functions). (iv) The server returned an unexpected page (e.g., under excessive load). 

Troubleshooting 
If the current or previous HTML page was changed, look for the correct properties of the form used in the text (e.g., action), and change it in the script.
If your snapshots and extended log are disabled, enable them and run the script again. 
(i) To enable Snapshots: Select Tools > General Options > Correlation, and check the Save correlation information during replay box. 
(ii) To enable Extended Log: Select Run-time Settings > General: Log, and check Enable logging, Always send messages, Extended log, Data returned by server, Advanced trace.
Compare the record and replay snapshots for each step in the script from the beginning, and locate the first difference. If you identify a difference in the snapshots, locate the corresponding HTTP request in both the recording log and the extended log. Compare the requests and, if they are different, have the replay issue exactly the same request. This can be done, for example, by adding web_add_header (for adding missing headers or adjusting existing ones), web_remove_auto_header (for removing extra headers), and web_add_cookie (for missing cookies).

If some correlation is missing, (e.g., the recording and replay runs have different session IDs), use the correlation tool to locate and handle such cases.

 

转自:http://www.7dtest.com/site/forum.php?mod=viewthread&tid=5955&reltid=6206&pre_thread_id=0&pre_pos=1&ext=

LoadRunner出现error问题及解决方法总结

标签:

原文地址:http://www.cnblogs.com/shengs/p/4399809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!