apache2 web服务器奇怪的重载

我最近inheritance了另一个开发人员的Web服务器设置。 其基本上如下:

2个运行apache的Web服务器2个运行nginx的负载均衡器2个运行MySQL的数据库服务器

每个星期左右,apache web服务器都不响应请求,负载均衡器最终返回504网关超时。 我login到Web服务器,并检查正常运行时间返回: 18:40:49 up 5 days, 20:15, 1 user, load average: 122.37, 119.80, 107.57 : 18:40:49 up 5 days, 20:15, 1 user, load average: 122.37, 119.80, 107.57 : 18:40:49 up 5 days, 20:15, 1 user, load average: 122.37, 119.80, 107.5718:40:49 up 5 days, 20:15, 1 user, load average: 122.37, 119.80, 107.57这是相当18:40:49 up 5 days, 20:15, 1 user, load average: 122.37, 119.80, 107.57的例如8。

为了让事情尽快恢复在线,我最终重新启动了Web服务器,一切恢复正常: 18:54:19 up 5 min, 1 user, load average: 0.11, 0.22, 0.10 : 18:54:19 up 5 min, 1 user, load average: 0.11, 0.22, 0.10 : 18:54:19 up 5 min, 1 user, load average: 0.11, 0.22, 0.1018:54:19 up 5 min, 1 user, load average: 0.11, 0.22, 0.10

我并不是要求明确的答案,因为我应该进一步研究问题的根源,但是我想就这个问题提出一些提示和build议:

  • 你为什么认为这可能会发生?
  • 我可以从哪些方面进一步研究这个问题,以便找出问题的根源呢? 我需要一些关于在哪里寻找什么的指针。

谢谢您的帮助。

通过重新启动修复的高负载可能是某种泄漏的症状。 如果由于内存泄漏导致内存使用量增加,或者仅仅因为应用程序平台维护一些数据结构,而这些数据结构随着时间的推移而增长,那么服务器可能会最终交换很多。

这显然取决于很多因素,但是我已经看到networking服务器在记忆展现症状方面过于紧张,就像你所描述的那样。

另一种可能性是应用程序产生后台线程,由于某种原因,这些线程继续运行并花费CPU时间或其他资源。

我强烈build议你问以前的所有者的线索,可能是消耗资源(内存和CPU)。 如果服务器已经受到攻击,您所描述的症状也会发生,但是不知道服务器应该如何运作,可能很难区分。 即使妥协不是解释的一部分,您仍然需要了解应用程序以debugging问题。