apache进程closures服务器的stream量

我们在CentOS 7上运行LAMP堆栈。大概一年没事了。

但是今天我们只看到了loading averages 。 我们检查top没有看到任何高负载的特定进程,但有一个非常多的Apache进程stream运行。

试图重新启动Apache几次,但没有帮助。

最后决定重新启动MySQL 。 这短暂地减less了负载,但不是很长。

然后决定重新启动服务器。 这也只是简单地减less了负载。

日志不显示太多的外部连接:

 $ sudo tail -n 500 /var/log/httpd/access_log | cut -d' ' -f1 | sort | uniq -c | sort -gr 395 ::1 101 127.0.0.1 3 66.102.6.91 1 66.102.6.89 

会发生什么事? 我们如何解决这个问题?

编辑1:更多细节

负荷平均值介于50和300之间。在某一点上,我们有这样的:

  $ uptime 10:33:28 up 317 days, 22:36, 2 users, load average: 81.21, 75.67, 75.62 

稍后检查:

 $ uptime 12:41:50 up 50 min, 2 users, load average: 227.67, 147.99, 75.37 

在Apache产生数百个进程并推出加载平均值之后,我们检查了configuration,但没有看到ServerLimit或任何其他参数:

 $ less /etc/httpd/conf/httpd.conf | grep ServerLimit $ 

你的系统明显过载了。 您应该安装监控,使用它来收集数据,然后应用科学方法 – 这是确保唯一的方法。

进一步阅读:

CentOS中睡眠过程的数量过多 – 如何诊断?