如何诊断502错误(Linux,Apache)的滞后问题?

在过去的几个星期里,我的网站上有越来越多的关于滞后的报道。 上个星期我终于遇到了这个问题,但是我一直无法find问题所在。

服务器负载从不高于16个内核中的大约0.5个,并且内存使用率达到12-13%左右。 这个问题不是数据库,因为在静态资源上可能会发生滞后。 10个页面浏览量中约有1个会收到502错误。 大约1/5页需要5-20秒加载。 在查看Chrome的networking标签时,几乎所有的时间都显示“等待”。

我昨天晚上重新启动了服务器,几个小时后似乎还好,但不到12个小时之后,又恢复了正常的滞后问题。 任何人有任何提示,我可以看看尝试找出问题?

我会做一些事情。

  1. 从盒子里使用curl命中一个“laggy”资源并获取计时 – 看看问题是浏览器和服务器之间还是服务器本身之间的networking。

  2. 使用类似Firebug + YSlow或者Pagespeed或者KITE来获取网页的瀑布图 – 这些工具应该解释问题是下载缓慢还是DNS或者网站响应时间(也就是“第一个字节的时间”)。 这也将本地化的问题。

  3. 确保你在Apache日志(%D)中logging了时间,看看有什么告诉你。

  4. 只是一个预感,但这听起来很networking。 至less做一个netstat,看看你是否有十亿个连接运行。

  5. 502s不是通常的超时响应,这是“坏门户”。 他们往往发生,如果有一些代理或网关有问题的网站。 可能是一个应用程序在你的网站mod_proxy背后坏? 我试图消除从本地静态内容,然后从那里扩大。