我有一个场景, TOADSoft客户端与Oracle服务器的长时间空闲会话似乎被中断,因为它们在中间状态完全防火墙上超时。 这些会话可能会闲置多个小时! 在全球范围内增加防火墙超时是不可接受的 当然,它不支持更长的特定stream量超时。 我已经修复了PuTTY闲置连接的问题; 它允许一个可configuration的保持活着 。 但是,我还没有在TOAD软件中find这样的支持。 在系统范围的configuration上查找一下,我想出了这个Microsoft TechNet详细的configuration系统范围的Keep-Alives ,涉及到使用KeepAliveTime和相关的registryvariables。 HKLM \系统\ CurrentControlSet \服务\ TCPIP \参数\ KeepAliveTime的 这看起来像使用全系统保持活动的Linux系统范围的configuration 。 但是,这需要程序使用setsockopt()和请求保持活动(正确?)。 请记住,即使在内核中configurationKeepalive支持,也不是Linux中的默认行为。 程序必须使用setsockopt接口请求它们的套接字的存活控制。 有相当less的程序实施Keepalive … 问题 我可以在Windows客户机或服务器上使用KeepAliveTime技术吗? (有人试过吗?) 有没有其他方法来保持这些TOAD连接活动(从通信的任何一端)?
我正在试验我的Java应用程序和我的mysql服务器之间的连接丢失。 应用程序和服务器在两台不同的机器上,我正在拉动两者之间的物理线。 我正在运行netstat -plunta查找连接的状态,这里是奇怪的部分。 拉好电源线之后,我可以看到很长一段时间,在ESTABLISHED状态下的连接。 至less几个小时。 那应该是这样吗? 什么时候连接终止,当没有数据包可以通过? 两台机器都运行Linux / Ubuntu。 一个是10.04,一个是11.04。
我们有一个相当典型的设置:client < – > apache2(2.2.22)< – >后端(*)。 最初我们用最简单的forms使用mod_rewrite和[P]标志: <VirtualHost *:80> RewriteEngine On ProxyPreserveHost On RewriteRule ^(.*)$ http://localhost:8081$1 [P,L] </VirtualHost> 然而,使用这种设置,即使客户端使用保持连接并使用一个tcp连接发送多个http请求到apache,apache创build一个到后端的新的tcp连接来达到请求。 我决定直接尝试使用mod_proxy: ProxyPreserveHost On ProxyPass / http://localhost:8081/ 而令我惊讶的是,Apache和后端之间的tcp连接被重新使用(这是我最初的目标)。 这是为什么? 有没有在mod_rewriteconfiguration启用Keepalive后端连接? (*)后端实际上是haproxy < – >多个应用程序服务器,但我认为这不重要。
任何可以确认Apache如何产生新的孩子? 如果我连接到一个networking服务器(HTTP 1.0 /不保持活动),并发出一个HTTP / GET,我会产生一个新的HTTPD子。 如果然后发出另一个HTTP / GET,那么将build立一个新的TCP连接。 但是,我会使用相同的subprocess,我会产生一个新的? 另外,如果我使用HTTP 1.1(保持活动状态)并重用相同的TCP连接,如果我不使用keepalive,httpd进程/产卵会有什么不同? 谢谢,
我们在nginx代理后面使用nginx后端。 我们使用上游keepalives。 他们工作得很好。 我们想知道,我们在后端设置keepalive_requests以将keepalive请求的最大数目设置为无限制,我们有什么价值? 谢谢!
前简报: 尽pipe我的问题目的很广泛,但我正在处理连接到php-fpm(fcgi)的nginx,它通过本地套接字(/tmp/somesocket.socket)提供。 Nginx具有保持与fcgi后端连接的设置( http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_keep_conn )。 这是我的问题所涉及的。 题: 在linux中,当连接到本地套接字时,存在Keepalive这样的事情吗? 有一个连接保持活着删除(甚至一点点)与连接的创build/拆卸相关的一些开销? 谢谢。
我正在开发一个服务器需要与大量简单的物联网设备保持联系的应用程序。 服务器和每个设备之间几乎不需要信息交换,但是设备需要保持联机并且可以在服务器上24小时到达。 在某些情况下(很less发生这种情况),服务器需要能够与其中一台设备联系并交换一些消息:但是,至关重要的是,这些设备在很短的时间内是可以到达的。 这意味着我需要这些客户端设备以某种方式连续连接。 现在,我想知道:通过TCP连接这些设备是否可行,并保持这些连接处于活动状态,随时准备交换消息? 我尝试过四处阅读,而且总是阅读相同的答案: 这取决于您的实现,因为您的消息交换和处理很可能是瓶颈,而不是保持这些TCP连接处于活动状态 。 现在,这不是我的情况,因为我只需要每隔很多时间就交换非常有限的信息量。 那么保持这些客户端连接是否合理呢? 或者我应该devise一个更有效的方法? 例如,在没有任何数据交换的情况下,只需保持一个TCP连接的活性就需要多less带宽? 这是否需要大量的内存或CPU? 我实现了一个简单的C ++程序,它每隔几秒就发送一次UDP给我的服务器。我的基准testing可以在没有任何问题的情况下扩展到数百万个在线设备上,即使是在一个相当有限的服务器上。 TCP会比这更差吗?
我负责在一些build筑物上铺设一个小networking。 我们有住宿区,有一个路由器提供访问互联网给客人。 我希望能够让路由器调用互联网上的URL,我可以用它来监视路由器是否启动。 理想的情况是每隔一小时或每十分钟做一次 这可能吗? 它有一个特定的名字,因为我从来没有在家庭/办公室路由器或交换机上看到这种能力,我们购买。
我们有两个AIX盒子,一个用于生产系统,另一个用于testing。 两个系统都运行ATM机交换机,ATM设备通过TCPsockets连接。 我们在生产系统中有一个问题,在这个系统中,机器会closures或断开连接,但是netstat -na | grep <IP of machine > netstat -na | grep <IP of machine >仍然会提到套接字已经启动 当在UAT环境中模拟这种情况时,问题没有发生,在3到5分钟内套接字将终止。 当在机器和ATM之间的交通中嗅探到时,我们发现在UAT上有某种心跳的情况下,没有交通发生在生产上。 但不是由应用程序启动的。 $>tcpdump | grep -v "10.2.2.71" | grep -v "HSRP" | grep "10.3.1.30" tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on en6, link-type 1, capture size 96 bytes 09:08:13.323421 […]
我需要一个可以在进行端口转发时使用的工具,可以测量build立TCP连接花费的时间和总时间。 Charlesdebugging代理具有端口转发function,并显示从所选组的最后一个连接的开始到结束的总时间,但不显示连接build立开销。 我们正在使用一个远程SVN服务器,它没有configuration为使用Keep-Alive,但是我们没有直接访问服务器,所以我们需要certificate这会导致开销,并放慢速度来说服对方改变组态。