原错误信息:

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. sql server 幂运算函数power(x,y)、square(x)、exp(x)

    --POWER(x,y)函数返回x的y次乘方的结果值 --SQUARE(x)函数返回指定浮点值x的平方 --EXP(x)函数返回e的x乘方后的值 示例:select POWER(2,2), POWER ...

  2. 说说 MicroPython 的项目整体架构

    今天来说说 MicroPython 的架构情况,如果有必要我会做一些源码分析的文章供大家参考. 先来认识一下 MicroPython 整体情况,可以从软件的角度上去看待,首先我们拿到 MicroPyt ...

  3. 基于Spring Cloud 几行配置完成单点登录开发

    单点登录概念 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. ...

  4. Day03-jS

    javaScript概述 什么是javaScript:javaScript是一种直译式脚本语言.直接解释执行的语言. 什么是脚本语言? . java源代码--->编译成.class文件 ---& ...

  5. leetcode957. N 天后的牢房

    8 间牢房排成一排,每间牢房不是有人住就是空着. 每天,无论牢房是被占用或空置,都会根据以下规则进行更改: 如果一间牢房的两个相邻的房间都被占用或都是空的,那么该牢房就会被占用. 否则,它就会被空置. ...

  6. 云主机使用ansible出现秘钥认证问题

    使用ansible的时候,出现如下秘钥失效的问题: root@jumpserver ftp]# ansible web -m ping The authenticity of host 'web-00 ...

  7. tomcat+Redis

    Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成. Tomca ...

  8. 为什么“或命题"真假的判断是有真则真?

    我:为什么"或命题"真假的判断是有真则真? 长沙刘老师:难道不是吗? 我:是经验,约定,还是严格证明? L神:为什么不自己看书? 我:想严格推理证明 L神: L神:我学过的教材里是 ...

  9. Prism MVVM使用WPF的DataGrid控件

    此项目源码下载地址:https://github.com/lizhiqiang0204/PrismDataGird01 运行效果如下 前端代码如下 <Window x:Class="V ...

  10. python之路day14--列表生成式、生成器generator、生成器并行

    列表生成式 列表生成式阅读量: 44   现在有个需求,现有列表a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式 二逼青年 ...