loadrunner-27796错误寻求解决办法
Action.c(58): Error -27796: Failed to connect to server "www.baidu.com:80": [10048] Address already in use Try changing the registry value HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay to 30 and HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort to 65534 and rebooting the machine See the readme.doc file for more information
.......2012.10.20.-----
网上的提示多为:LR压力测试遇到如上错误,跟据提示在注册表中已将TcpTimedWaitDelay 改为 1;MaxUserPort 改为 65534;并且重启电脑。运行后仍出现上面的错误。。。。但还是无法解决。
于是~~~~: 在 run-time setting/browser emulation中将simulate a new user on each iteration 选项去掉(默认是选中的)。重新运行一切正常,没有错误出现。
【复制博主的猜测: 猜测原因,客户端性能比较好,发出压力太快,所以把tcp/ip的连接或端口占满。在网上查了一下,xp好像默认开启15个tcp/ip。。。
去掉这个选项的意思是,始终使用一个tcp/ip链接,不断开,也就是开发人员所说的长链接或持久连接。 短连接:建立连接-----发送和接收报文1-------关闭连接
长连接:建立连接-----发送和接收报文1.。。。2.。。。3-----关闭连接 】
妈的,累死了,搞了一整个晚上的connectify还是不能用,我cao...!又熬夜了,还一事无成,我的超级本啊,我的PPT啊。cao。。。不弄了,来去睡。
--------------------------------------------------------------------------------------------------
Error -27796: Failed to connect to server "125.93.51.230:8080": [10061]
Connection refused..
2013.05.31,这个27796一直是我心中的痛,试过网上所有的方法了,还是不行,我只能怀疑是不是我的客户端OS是win7的,所以才造成这种情况.....哎~!
认真分析这个错误,其实比较容易理解,就是连接不上服务,由于端口已经满了,那么自己的本机已经修改成65534,服务器已经修成成65534,那么这就是唯一的解决方式么?后来仔细思考,我找到了两种解决方式:
1、通过让每次迭代不启用新的连接,我想就可以解决此问题,经过验证,发现这个问题确实不发生了。操作如下,在controller的运行时设置中的-->browser Emulation-->不扣选simulate a new user on each iteration,这样运行时并发人数是多少,那么就启动多少个端口。还是上面的问题,是否勾选这个选项就一定会报27796错误么?
2、回答上面的提问,答案是不一定。如果你每次迭代启用新的端口,但是由于迭代次数*并发数<65534就不会报这个错误。如果设置的迭代次数*并发数>65534,也不一定会出现这个错误,例如:并发人数为1000,平均响应时间为1s,那么也就是说1s会占用1000个端口,也就是说不到66s时端口就会占满,如果服务器能在65s内关闭之前占用的端口之间的连接,也就是说65s超时时间,或者会话保持为65s以内,那么就能解决此问题。
以上提出两种解决方式,都可以解决27796error,一个是修改loadrunner中的controller设置,另一个就是设置服务器的超时时间在合理范围之内,不要太长,也不要太短。
---------------------------------
Message Code 27796
Failed to connect to server 'hostname';port_ld': 'reason'.
Unable to connect to the specified server and port.
Troubleshooting
o Try to address the reason provided for the connection failure.
o Try to access the application with a browser from the injector machine and from another machine (such as the recording machine).
o Check that you accurately specified the correct host name and port.
o Ping the host/port.
o Check if the server application you are trying to access is running.
o If you used a hostname, check if it was resolved to the correct address.
o Check if the server application is listening to the right port.
|
解决办法一是:
(1)1. 修改run time setting中的请求超时时间Preferences 中点击Options 其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为1000、1000、10000;run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数;
2. Browser Emulation 中的Download non-HTML resources 选项去掉,点击OK即可
(2)办法(一)不能解决的情况下,解决办法如下:
设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,我的用这个解决成功了