LR_ERROR_27796的解决办法

上一篇 / 下一篇  2011-02-16 15:29:22 / 个人分类:性能测试

(转载)

问题描述:

    使用http协议,200VU并发访问:URL=http://124.74.192.111/xx.web.taobao/pages/left.jsp,测试中正常,但URL增加了端口号8080即:URL=http://124.74.192.111:8080/xx.web.taobao/pages/left.jsp,并设置了持续时间,开始运行controller即开始报大量的错:“Action.c(5): Error -27796: Failed to connect to server "124.74.192.111:8080": [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”。


问题解决:

    根据错误提示,修改测试机设置:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay其值改小,比如5. 重启测试机,再加压测试即可。

    根据提示还要调整“MaxUserPort ”的键值,因为这里的测试机该值已为最大,故不需要调整这个值 。

分析:

    借用zee的分析思路:因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。


TAG:

 

评分:0

我来说两句

Open Toolbar