如何诊断 502 错误(linux、apache)的滞后问题?

如何诊断 502 错误(linux、apache)的滞后问题?

过去几周,我收到越来越多关于我的某个网站延迟的报告。上周我终于亲身体验了它,但我还无法确定问题所在。

服务器负载从未超过 16 个内核中的 0.5 个,内存使用率最高约为 12-13%。问题不在于数据库,因为静态资源上也会出现延迟。大约 1/10 的页面浏览量会出现 502 错误。大约 1/5 的页面需要 5-20 秒才能加载。查看 Chrome 的网络标签时,几乎所有时间都显示“正在等待”。

我昨晚重启了服务器,几个小时内一切正常,但不到 12 小时后又恢复了正常的延迟问题。有人能告诉我在哪里可以找到问题所在吗?

答案1

我会做几件事。

  1. 使用框中的 curl 点击“滞后”资源并获取时间 - 查看问题是否出在浏览器和服务器之间的网络或服务器本身。

  2. 使用类似 Firebug +慢速或者页面速度或者风筝获取网页的瀑布图 - 这些工具应该可以解释问题是下载速度慢还是 DNS 或网站响应时间(又称“第一个字节的时间”)。这也可以定位问题。

  3. 确保您在 Apache 日志(%D)中记录所用时间,并查看其告诉您什么。

  4. 这只是一种预感,但这听起来像网络。至少做一个 netstat,看看是否有十亿个连接在运行。

  5. 502 不是常见的超时响应,那是“网关故障”。如果某个代理或网关无法访问您的网站,则往往会出现这种情况。可能是您网站上的 mod_proxy 后面的应用程序出现故障?我会尝试通过从本地访问静态内容,然后从那里扩展来消除这种情况。

相关内容