草庐IT

keepalives

全部标签

聊一聊nginx中KeepAlive的设置

文章目录问题分析为什么要有KeepAlive?TCPKeepAlive和HTTP的Keep-Alive是一样的吗?Nginx的TCPKeepAlive如何设置Apache中KeepAlive和KeepAliveTimeOut参考资料问题之前工作中遇到一个KeepAlive的问题,现在把它记录下来,场景是这样的:从上图可以看出,用户通过Client访问的是LVS的VIP,VIP后端挂载的RealServer是Nginx服务器。Client可以是浏览器也可以是一个客户端程序。一般情况下,这种架构不会出现问题,但是如果Client端把请求发送给Nginx,Nginx的后端需要一段时间才能返回结果,超

php - 在 php 中为 curl 设置 "--keepalive-time"

这里有一些背景故事:https://serverfault.com/questions/714273/curl-returning-error-52-or-56-with-rest-api-call-spanning-more-than-5-minutes所以,我有这个RESTAPI调用,我需要通过PHP进行调用,我可以通过CLI让它工作的唯一方法是为CURL设置--keepalive-time。那么我如何在PHP中做到这一点呢?这是直接通过CURL进行的(经过认证的)工作API调用:curl--max-time600-k-odump.txt--connect-timeout0--ke

windows - 确定现有连接是否在 Windows 下使用 TCP KeepAlive

在Windows(Vista和更高版本)中,有一种方法或工具可以帮助确定现有的、已经建立的、传出的TCP连接是否是使用SO_KEEPALIVE选项创建的。在Unix平台上,这通常可以使用netstat查看(即“netstat-o”将为KEEPALIVE显示一个单独的列)。Windows上的Netstat没有这个功能。我测试过的其他Microsoft/SysInternals网络工具也没有。我似乎找不到可以提供此信息的工具。场景是:在Windows2008R2服务器上运行的应用程序需要在它建立的所有连接上启用TCPkeepalive。某些应用程序没有启用TCPkeepalive的选项,我

Windows TCP keepalive 发送没有 PSH 的 1 字节消息

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我有一个我认为是Windows客户端的流量捕获。我注意到它有时会发送被Wireshark识别为“TCPKeep-Alive”的内容,但它不是仅仅设置ACK并且不发送任何数据,而是将SEQ备份一个八位字节并重新发送该数据。(C=客户端,S=服务器,相对seq/ack)(connected,datatransferredbackandforth)1C:PSHSeq=21,Ack=41,Len=12

c - 在 C 中使用 TCP_KEEPALIVE 识别 tcp 套接字上的网络关闭

我正在编写一个从tcp服务器接收数据的tcp客户端程序。当网络出现问题(即网络中断)时,我无法关闭连接。我已经使用SO_KEEPALIVE来允许应用程序为套接字连接启用保活数据包。SO_KEEPALIVE属性成功开启,但我无法修改KeepAliveTime的默认值(即2小时)编辑KeepAliveTime的另一个可用选项是编辑注册表值,但我无法在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters位置找到注册表项以下代码检查并启用SO_KEEPALIVE。charoptval;charoptout;i

sql-server - Windows 和 SQL Server keepalive tcp/ip 设置

也许,我的问题很愚蠢。无论如何,我的SQL服务器将tcp/ipkeepalive设置设置为30,000毫秒。同时,我在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters中没有看到任何关于keepalive设置的注册表项。因此,我假设我的WindowsServer2008托管SQL服务器没有设置为保持事件tcp/ip功能。这个对吗?如果这是正确的,SQL服务器是否向客户端发送保活包?换句话说,如果没有设置Windowskeepalive设置,SQLServerkeepalive功能是否有效?谢谢

asynchronous - 在 Hiredis 异步上下文中设置 TCP keepalive 间隔

我正在围绕hiredis编写一个包装器,以便在redis节点出现故障时通过重新连接启用发布/订阅功能。我正在使用异步RedisAPI。所以我有一个测试工具来设置发布者和订阅者。然后,线束会关闭订阅者正在读取的从属VM。但是,断开连接回调直到很晚才被调用(当我正在破坏包含相应redisAsyncContext的订阅对象时。我认为解决这个问题的方法可能是使用tcpkeepalive。于是我发现在net.h中有一个合适的redis函数:intredisKeepAlive(redisContext*c,intinterval);但是,下面的内容似乎表明库中故意省略了redisKeepAlive

windows - 检测对等点是否使用 TCP keepalive (Windows)

如果您连接的对等点正在使用TCPkeepalive,是否有可能弄清楚或收到通知?在发送keepalive时进一步得到通知?不求助于内核驱动程序中的数据包级过滤?我们有一个插件代理,客户希望将客户端保活转发到服务器。目前我们最好的选择是允许在服务器端连接上设置keepalive,但我想检查是否有人知道检测客户端行为的方法,以便可以更接近地近似中继keepalive。谢谢。 最佳答案 itpossibletofigureout,orbenotifiedifapeertowhomyouareconnectedisusingTCPkeepa

tcp - rabbitmq keepalive超时错误

以下是我的rabbitmq日志文件的一部分。=错误报告====22-Dec-2016::09:36:20===关闭MQTT连接“xxx.xxx.xxx.xxx:11030->xx.xx.xx.xx:1884”(保持连接超时)=错误报告====22-Dec-2016::09:36:20===关闭MQTT连接“xxx.xxx.xxx.xxx:14653->xx.xx.xx.xx:1884”(保持连接超时)=错误报告====22-Dec-2016::09:36:22===关闭MQTT连接“xxx.xxx.xxx.xxx:14494->xx.xx.xx.xx:1884”(保持连接超时)我认为这

linux - tcp keepalive - 协议(protocol)不可用?

我正在尝试设置tcpkeepalive但在这样做时我看到了错误“协议(protocol)不可用”intrc=setsockopt(s,SOL_SOCKET,TCP_KEEPIDLE,&keepalive_idle,sizeof(keepalive_idle));if(rc我可以打开keepalive,设置keepalive间隔和计数,但是keepaliveidle是keepalive时间会抛出该错误,而且我从来没有看到任何使用wireshark和过滤器tcp传输/接收的keepalive数据包。analysis.keep_alive或使用tcpdumpsudotcpdump-vv"tc