奇怪的问题 – 每隔一小时Linux服务器不稳定几分钟(相同) – 我需要帮助确定问题

我发现以下问题真的很有趣,我想你也会。

我有一个Linux服务器,我用于托pipe一些网站。 它使用CENTOS 6和DIRECTADMIN。 这些网站stream量很好,很忙,但是我从来没有遇到过不稳定的问题。

最近几天发生了一些奇怪的事情。

每一个小时,几分钟,每次都一样(26-30),服务器无法通过networking访问。 负载正在增加很多,并打开了许多httpd(apache)进程。

我已经做了mod_status输出的一个非常彻底的分析,我没有发现什么奇怪的(我打开连接ips分组)。 这似乎是我的正常交通,但由于某种原因,延误了。

顶部给我没有什么不寻常的,只有负荷非常大,但没有突出的过程。

很多(900个httpd进程打开),但我还没有发现任何恶意ips做了很多请求。 我最好的猜测是有些东西超负荷系统和HTTP查询被延迟。

我停下来等待下一个周期,情况也是如此。

我也监视了端口80与netstats分组ips与打开连接。 没什么特别的 nginx运行在端口80和端口8000上的httpd,我检查两个,8000只有从我的IP和端口80连接没有ip脱颖而出。

/ var / log / messages没有任何东西,Apache的错误日志没有任何东西。

没有crons在运行,我每小时都像钟表一样得到相同的过载问题。 几分钟后风暴过去了。

任何人有任何想法如何查明这个问题? CPU消耗的任何其他原因不会显示在上面?

我会看看这些Apache进程连接到的外部服务。 也许你当时有一个数据库备份计划,可能会locking所有的表。

总的来说,这听起来不像apache服务器本身的问题。

如果是紧密排定的,除了交叉引用这段时间内的所有日志之外,您可以考虑将strace附加到httpd PID以获得更深入的外观,或者在通常情况下在前台以debugging模式运行apache。

HTTPd有-X选项,虽然性能显然会受到影响,所以我会尝试尽可能接近事件。

“-X在debugging模式下运行httpd,只有一个工作者将被启动,服务器不会从控制台分离。

对于strace,你可以试试

strace -f -p $HTTPd_PID 

和/或

 strace -f -c -p $HTTPd_PID 

-f跟随分叉和-c来计数系统调用。