首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache每2-3周就挂起一次,closed_wait连接会增加,直到重新启动为止。

Apache每2-3周就挂起一次,closed_wait连接会增加,直到重新启动为止。
EN

Server Fault用户
提问于 2019-06-26 09:42:29
回答 2查看 605关注 0票数 0

我们有一个3服务器的集群设置,在所有3台服务器上,weblogic正在运行以托管网站。在weblogic的顶部使用Apache作为负载均衡器。

去年,我将Apache服务器从2.4.9升级到2.4.29。在升级之前,一切正常,但每2-4周Apache挂起一次升级。网站变得不可访问,在检查服务器时,我们没有看到任何错误--事实上,当apache挂起它时,它也停止了日志记录。

我们监测并发现没有异常的内存使用,没有可疑类型的请求到网站,没有可疑的进程运行之前,问题发生。

通过在互联网上的探索,我发现这个问题可能与MPM配置有关。Apache使用的是事件MPM,但我发现事件MPM配置没有在apache配置中声明,我认为在升级期间,默认配置被旧配置所取代。

因此,我们已经修改了MPM配置,以使用下面的事件mpm配置,并且这一更改起了作用。在接下来的6个月里,我们没有面对这个问题。

代码语言:javascript
复制
 StartServers             4     MinSpareThreads         256     MaxSpareThreads        512     ThreadsPerChild         64     MaxRequestWorkers      2048     MaxConnectionsPerChild   0 

我们认为它是固定的,但现在6个月后Apache再次挂起,只有症状,我们可以看到closed_wait连接从20增加到550在接下来的1小时,没有访问网站,apache停止登录到它的ssl和错误日志,我们没有看到任何异常行为在不同的运行过程数据,内存使用,也没有看到任何可疑的请求之前,问题发生。

EN

回答 2

Server Fault用户

发布于 2021-02-10 20:52:44

这是一个常见的问题。CLOSE_WAIT连接不是在使用,而是在消耗apache资源。

一段时间前,我遇到了紧密的等待连接问题。经过大量的调查,这是一个技巧,以防你需要它。

您将需要将此添加到您的Linux服务器中。

代码语言:javascript
复制
vi /etc/sysctl.conf

#Added to fix close_wait connections
#recommended 30. Default 60
net.ipv4.tcp_fin_timeout = 30
#in seconds, time in which the close_wait connections will be removed
net.ipv4.tcp_keepalive_time = 60
  
###duration of a request in seconds# probes * intvl = time to process if the connection is still alive
net.ipv4.tcp_keepalive_intvl = 2
#number of retries to test the connection
net.ipv4.tcp_keepalive_probes = 2

此外,应用此操作后,需要使用sysctl -p命令刷新对该文件的引用。

之后,您必须在代理通行证中添加keepalive=On指令。

代码语言:javascript
复制
ProxyPass /home ajp://localhost:8009/home keepalive=On retry=5

这将有助于在处于close_wait状态一分钟后删除CLOSE_WAIT连接。Apache在worker模式下使用线程,而这些线程由操作系统处理,如果系统无法关闭线程,系统就会这样做。

记住也要重新启动整个apache进程。

PD:如果您正在使用ipv4,这会有所帮助。不确定ipv6

希望它能帮上忙

票数 1
EN

Server Fault用户

发布于 2019-06-26 11:02:49

它看起来像是使用像slowloris这样的工具的“缓慢的DoS攻击”。在这种类型的攻击中,攻击者试图在服务器挂起之前保持与服务器的合法连接(打开)。我们使用SPA ( https://www.cyberxnetworks.com/index.php?cmd=website&aid=242 )来阻止这类攻击。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/972940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档