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

2011-11-09  周桃林 

一、Step download timeout (120 seconds)

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

  1、修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeoutHTTP-request receieve timeoutStep download timeout,分别建议修改为6006005000run time setting设置完了后记住还需要在control组件的optionrun 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类似,只不过windows修改注册表,具体修改注册表中有TcpTimedWaitDelayMaxUserPort项,键值在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\]。因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCPtime out。即在最后一个端口还没有用到时,前面已经有端口在释放了。

  1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)

  2,也可以把MaxUserPort调大(如果这个值不是最大值的话)

  四、问题描述open many files

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

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

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

  3linux上可以通过ulimit –HSn 4096来修改文件打开数限制,也可以通过ulimit -a 来查看。

  4linux上可以通过lsof -p pid | wc -l 来查看进程打开的句柄数。

  五、问题描述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锯齿型的变化,上升下降都很快,这应该是不太正常的。

419°/4189 人阅读/1 条评论 发表评论

付民  2011-12-01


登录 后发表评论