原错误信息:

Action.c(58): Error -27796: Failed to connect to server "10.1.44.68:7013": [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

根据以上错误信息以此对HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\下的

TcpTimedWaitDelay,MaxUserPort。tcp端口释放的时间和tcp端口的数量进行更改;

附Windows系统下的TCP参数优化(注册表\TCPIP\Parameters):https://blog.csdn.net/libaineu2004/article/details/49054261

修改完后重启机器再次压测只报原Error -27796TcpTimedWaitDelay 错误信息,一下是我解决问题时分析的过程:

1.在此压测出现Error -27796错误之前, lr tps,art等资源都是稳定状态;报TcpTimedWaitDelay错误信息时,tps曲线直接下跌到底。使用netstat -ano > d:\port.text查看一下,基本都是time_wait状态,这个错误以前运到过,当时由于给予解决问题,便记录了这样解决的过程:https://www.cnblogs.com/Alexr/p/9362059.html

分析:根据网上度娘方法,TcpTimedWaitDelay表示系统释放已关闭的TCP连接必须等待的时间,换句话说系统内有大量连接处于TIME_WAIT状态,则会导致并发量与吞吐量的严重下降缩小该项值,可以更快地释放已关闭的连接,难道是客户端性能太好,发压的速率太快导致把tcp/ip的连接或端口占满。不应该呀!在网上查了一下,win7系统最大设置fffe65534tcp/ip,也有设置fff的;  tpc端口数按理说已经是设置的最大了包括tcp的关闭时间也设置了最小,这大量的TIME_WAIT到底是怎么导致的,百思不得其解?

2.最后解决的方法是:在 Run-time Setting/Browser Emulation中将Simulate a new user on each iteration  选项去掉(默认是选中的)。重新运行一切正常,没有错误出现。

该项值表示默认Controller在调用VUG脚本时,每次迭代模拟一个新的用户,首先清空浏览器中的缓存,在重新获取前端层的信息;去掉这个选项的意思是,始终使用一个tcp/ip链接,不断开,也就是开发人员所说的长链接或持久连接。

短连接:建立连接-----发送和接收报文1-------关闭连接;

长连接:建立连接-----发送和接收报文1.。。。2.。。。3-----关闭连接 ;

3.选r中Run-time Setting/internet Protocol/Winlnet replay instead of sockets(Windows only)替换上面的方式,也是可以解决掉此类问题;

这个项值表示回放脚本通过sockets端口方式进行, 庆幸的是我们程序支持sockets方式,建议需要通过sockets方式回放时,在选择这项值。

4.使用wireshark工具通过对lr通信信息进行抓取,在监测通讯过程中发现,问题出现在第二次握手,客户端已经发出syn包,但服务器端没有接受到syn包,当TIME_WAIT1s秒钟后再次发出syn包,服务器端可以接收到此包,问题出现了,就是说这个请求在没有建立连接时就出现错误了,神奇了。

静下心了慢慢分析了一下客户端与服务器端建立的过程:

1.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers);

2.第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

3.第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据;

附tcp/ip三次握手连接及seq和ack号的正确理解:http://blog.sina.com.cn/s/blog_735e97540101ir8h.html

分析:抓取这样的结果,我的tcp端口还没有使用满的前提下,报Error -27796,根据网上排查的思路,一般是脚本的问题。我使用lr最多也是web(html/http),一般走http接口时,我会把Mode=HTML改HTTP,一些get请求有时候就没有RecContentType=text/html不去指定返回的内容,要么空或者要么没有要么删掉,都是可以执行成功的。根据度娘的解答如果缺少RecContentType=text/html返回类型的话,会造成服务器无法识别;

LR报:Error 27796 Failed to connect to server的更多相关文章

  1. loadrunner error 27796 Failed to connect to server

    (2012-10-23 01:23:17) 转载▼   Action.c(58): Error -27796: Failed to connect to server "www.baidu. ...

  2. Action.c(28): Error -27796: Failed to connect to server "xxxx": [10060] Connection timed out

    Error -27796: Failed to connect to server "125.93.51.230:8080": [10061] Connection refused ...

  3. 【LR11】Error -27796: Failed to connect to server"server:port": [10060] Connection timed out错误解决办法

      场景描述:被测系统是发布在远程服务器上的,假设IP是10.10.10.10,端口是8066,那么访问地址是http://10.10.10.10:8066/,在control机器上我设置了IP欺骗. ...

  4. loadrunner:Action.c(4): Error -27796: Failed to connect to server "192.168.66.3:8080": [10060] Connection timed out

    Action.c(4): Error -27796: Failed to connect to server "192.168.66.3:8080": [10060] Connec ...

  5. Error -27796: Failed to connect to server "ip地址": [10060] Connection timed out

    如果出现Error -27796: Failed to connect to server "ip地址": [10060] Connection timed out 这样的错误,如 ...

  6. [转载]Error -27796: Failed to connect to server

      原文地址:Error -27796: Failed to connect to server "test.shunde.gov.cn:80"作者:蓝小C 问题描述: 使用Loa ...

  7. loadrunner:Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Connection timed out

    Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Conne ...

  8. Action.c(58): Error -27796: Failed to connect to server "hostname"

    分析: 因为负载生成器的性能太好发数据特别快,服务器响应也特别快,从而导致负载生成器的端口在没有timeout之前就全部占满了. 解决方案一:   在负载生成器的注册表HKEY_LOCAL_MACHI ...

  9. mongodb副本集出现的错误 mongodb error: { MongoNetworkError: failed to connect to server [127.0.0.1:1010] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:1010]

    replset = pictureWorks 执行:mongo --port 1008  (查看1008是否是住数据库) rs.status() 执行: onfig={"_id": ...

随机推荐

  1. Labeling Balls POJ - 3687 优先队列 + 反向拓扑

    优先队列 + 反向拓扑 //#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include ...

  2. Codeforces 1220C. Substring Game in the Lesson

    传送门 首先显然的,如果 $l$ 能移动,那么 $r$ 一定可以随便移动,如果 $l$ 不动,那么 $r$ 一定不能动 那么我们现在只要考虑 $l$ 的移动即可 考虑找到位置 $k$ 之前的最左边的最 ...

  3. [转载]Linux查看文件编码格式及文件编码转换

    原文地址:https://blog.csdn.net/gatieme/article/details/55045883 3 linux下查看编码的方法 方法一:file filename file c ...

  4. 【转载】Django自带的注册登陆功能

    1.登陆 知识点: a.auth.authenticate(username=name值, password=password值) 验证用户名和密码 b.auth.login(request, use ...

  5. 在easyui中解决使west和center为1:1,并且拖动窗口时能够自适应变化

    <script type="text/javascript"> // 解决页面两个grid的布局问题 $(function(){// 在页面加载完毕后 //consol ...

  6. iptables-save - 保存 IP Tables

    总览 SYNOPSIS iptables-save [-c] [-t table] 描述 DESCRIPTION iptables-save 用来将 IP Table 转储为可以简单解析的格式,输出到 ...

  7. puppet自动化安装服务

    puppet自动化部署 主机环境: server(master)端:172.25.7.1(server1.example.com) client(agent)端:172.25.7.2 172.25.7 ...

  8. SpringCloud系列(一):Eureka 注册中心

    在演示spring cloud之前得要知道我们为什么需要微服务框架. 先讲讲我的经历,以前我们做项目时所有功能都写在一起,只是做了分层(模型,数据,业务),所有业务逻辑都写在业务层,刚开始还好,等时间 ...

  9. java高并发核心要点|系列5|CPU内存伪共享

    上节提到的:伪共享,今天我们来说说. 那什么是伪共享呢? 这得从CPU的缓存结构说起.以下如图,CPU一般来说是有三级缓存,1 级,2级,3级,越上面的,越靠近CPU的,速度越快,成本也越高.也就是说 ...

  10. SpringMVC @RequestMapping注解详解

    @RequestMapping 参数说明 value:定义处理方法的请求的 URL 地址.(重点) method:定义处理方法的 http method 类型,如 GET.POST 等.(重点) pa ...