Articles of keepalive

用于mod_jk的socket_keepaliveconfiguration

我有mod_jk的Apache httpd。 我有长时间闲置期间死亡的连接问题:Apache停止响应,每个HTTP请求挂起15分钟。 我试图closuresmod_jk连接池(与DisableReuse),问题消失。 在Tomcat文档中写道: Using this option will have a strong performance penalty for Apache and Tomcat. Use this only as a last resort in case of unfixable network problems. If a firewall between Apache and Tomcat silently kills idle connections, try to use the worker attribute socket_keepalive in combination with an appropriate TCP […]

IIS停止响应

我正在使用IIS(在Windows 2003上)并在我的默认网站中放置了一个dummy.html。 该文件是空的。 我使用wfuzz访问这个文件很多次(wfuzz做HTTP请求),使用下面的命令: wfuzz.exe -c -z range -r 0-5000 " http://localhost/dummy.html " 我运行5分钟wfuzz一分钟,然后IIS停止响应。 发生这种情况时,我不能再在80端口上telnet localhost。如果我停止wfuzz客户端并等待一分钟,我可以再次telnet 80端口。 我只看到这个问题,如果我已经在IIS中select启用HTTP保持链接 。 如果我禁用此选项,问题似乎消失。 我可以运行15个wfuzz几分钟,仍然可以在80端口telnet localhost,没有任何问题。 IIS被configuration为使用无限数量的连接。 那么,为什么启用HTTP Keep-Alives后,IIS会在一分钟后停止响应? 起初,我认为问题是在TIME_WAIT状态的套接字数量太高,但我不明白为什么取消select启用HTTP保持活动将解决问题,如果这是原因。 如果我的客户端在每个请求之间断开连接,我不会看到这个设置对IIS行为有任何影响。

如何测量NAT防火墙的TCP超时限制来设置Keepalive时间间隔?

$ WORK最近安装了新的(NAT)防火墙设备。 从那以后,我得到了很多networking超时和中断,特别是对于那些需要服务器思考一点而没有响应的操作(svn update,rsync等)。 通过VPN的入站SSH会话也经常超时。 这清楚地表明我需要调整有问题的服务器上的TCP(和ssh)存活时间,以减less这些错误。 但是,我应该使用什么合适的价值呢? 假设我在防火墙的两端都有可以build立连接的机器,有没有办法测量这个防火墙的TCP连接的时间限制是什么? 从理论上说,我会发送一个逐渐增加间隔的包,直到连接丢失。 任何可能有帮助的工具(免费或开放源代码将是最好的,但我打开其他build议)? 电器不在我的控制之下,所以我不能只是得到它的价值,尽pipe我试图询问它现在是什么,如果我能得到它的增加。

HTTP Keep-Alive与EC2 Linux,Nginx和Chrome解谜

请帮忙解决HTTP保持活着的问题。 基本上,我在运行nginx( v1.2.6 )的EC2上有amazon-ami linux( v2012.09 )。 Chrome( v25.0.1364.99 )正常访问HTTP页面,然后经过约30秒的连接(由于netstat在服务器上监视)而丢弃(未知原因)。 之后,如果chrome从服务器请求某个东西,它将无法接收任何内容,并等待一些明显中断的连接。 超时后,以后的请求工作正常。 Nginxconfigurationkeepalive_timeout 70s 60s; cat /proc/sys/net/ipv4/tcp_keepalive_time显示7200 这可能是一件容易的事,但是使用谷歌search显示了很多类似的问题,但不完全一样。 ( https://code.google.com/p/chromium/issues/detail?id=27400请阅读http://blog.fastmail.fm/2011/06/28/http-keep-alive-connection-timeouts / )。 什么答案会有帮助: 如何更改服务器的configuration,以避免过度等待Chrome浏览器掉线 什么产品可能会内容错误或可以使用什么解决方法 对于Chrome来说,禁用保持活动是一种不得已的解决scheme:因为它减less了响应延迟,并且具有很长的HTTP连接保持活动时间,至less有一分钟。 谢谢

Linux GRE保持活跃

Linux内核(?)可以在与思科端点一起使用的情况下,实现GRE保持活动? 我们已经与另一家公司build立了GRE IPsec隧道。 我们希望有一个主要死亡时应该激活的备份隧道。 因此,他们启用GRE保持活动状态,以检测故障并将路由切换到备用隧道。 我们依赖于他们提出的技术(另一种解决scheme不能使用)。 我们怎样才能完成这样的沟通? 我很惊讶在iproute2和内核中找不到它。 这只是popup来,但它似乎不是可靠的生产使用。 更新: 我们目前的configuration是: Ubuntu服务器14.04 LTS ,内核3.13.0-24-generic racoon和setkey守护进程来pipe理IPsec iproute2在GRE模式下启动隧道 我们必须使用GRE保持活力。 他们告诉我们,除非我们启用保活措施,否则没有办法(好吧,不是技术上,但我想这是他们的政策)build立备用隧道。 问题是,是否可以使用上面提到的服务器configuration?

由Chrome占用的Windows上的Apache保持活跃状态

Chromes keep-alive数据包似乎阻止了Apache响应来自其他客户端的所有请求。 它们不会出现在访问日志中,也不会出现在mod_status中,浏览器一直在等待答案。 无论在Apache中保持活动状态是否启用,都会发生这种情况。 这只发生在客户端在另一个networking上时,这似乎与Chromefunction有关,以使连接保持在NAT网关/防火墙后面。 从服务器机器上的浏览器,我总是可以访问Apache上的页面,即使第二个networking上的客户端被阻塞。 在这个Wireshark屏幕上,您可以看到Chrome阻止请求时发生在服务器上的示例: 当我closuresChrome实例时,Apache恢复应答之前收到的请求,并且这些请求出现在访问日志中。 当我在Chrome中刷新页面时,有时也会回答其他请求。 这是一个Apache错误或configuration错误? 或者可以由networkingconfiguration引起? 服务器: Apache:2.4.20 x64 VC14 PHP:7.0.5 TS x64 VC14 Windows Server 2012 R2

优雅的Apache重启和Keep-Alive连接

我试图find一种方法来快速重新启动Apache来应用configuration更改。 目标是: 重新启动而不分发当前处理的请求 尽可能以primefaces方式进行,即新configuration必须应用于从重新启动时间开始接收的所有新请求,旧版本不应处理新请求。 Apache具有满足第一个目标的平稳重新启动命令,重新启动命令是直接的,现有请求不受影响。 但是,重新启动不是primefaces的。 如果存在与Keep-Alive状态的服务器的连接,那么它们发送的所有以下请求都将由具有旧configuration的旧进程处理。 就我而言,Apache服务器位于负载均衡器的后面,负载均衡器可能通过单个连接发送数百个请求。 因此,在重新启动之后,需要很长时间才能将新configuration应用于所有新请求。 有没有什么办法可以解决这个问题,例如,在完成当前请求的服务之后,让Apacheclosures与旧进程的任何现有的Keep-Alive连接?

漏斗的httpstream量

我有一个情况,大批量的服务器(X)按需要从一组较小的Web服务器(Y)请求数据。 最糟糕的情况是如果X中的所有服务器决定向Y中的一个服务器提取不同的请求。那将是X个连接,这可能是一个非常大的stream量突发。 最好的情况是,如果X中的1台服务器与Y中的1台服务器串联。 生活不是这样的。 一个想法就是放置一个代理服务器,类似于X和Y之间的squid。所有的X服务器都可以连接到这个代理服务器,但是会导致一些持久的(http keepalive)连接到Y.如果less数人说,3或者4,那么它会漏斗。 如果我们能够限制这些联系,交通决定高峰,我们不会伤害任何人,除了我们自己。 思考?

如何在共享主机环境中启用“Keep Alive”?

我只访问php.ini文件和我的老的.htaccess文件。 我在哪里启用Keep Alive设置? (即时通讯8.2)

tcp_keepalive应用程序依赖于Linux吗?

根据http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/index.html ,内核保活function发生在操作系统级别,并且不需要应用程序来明确地调用它。 不过,我也读了应用程序如何调用它(使用SO_KEEPALIVE)来实际使用内核function。 这里> Keep-alive选项在Linux上不适用于外出连接 有人可以澄清? 谢谢!