![诊断随机网络延迟](https://linux22.com/image/567155/%E8%AF%8A%E6%96%AD%E9%9A%8F%E6%9C%BA%E7%BD%91%E7%BB%9C%E5%BB%B6%E8%BF%9F.png)
我无法诊断为 MediaWiki 网站提供服务的 6 台服务器 LAMP 集群上的一些随机延迟。虽然我们每秒提供大约 100 页,但服务器本身运行良好,负载低于 0.5,没有锁定的进程,没有分页,没有记录错误等......
- 所有服务器都会出现延迟,而且是随机的:前一分钟还好,后一分钟就出现了。
- 服务器上的 DNS 查找速度会随机变慢。例如,
time nslookup google.com
随机变化时间从几毫秒到几秒不等,有时甚至会完全超时。虽然我们在集群内部使用 IP 地址,但这可能是根本问题的征兆。我们没有运行自己的 DNS 服务器。 - Apache
server-status
页面会随机滞后或超时。使用ab
服务器之间的基准测试显示,一些加载有时需要 3000 毫秒(几乎准确)。server-status
在本地服务器本身上进行基准测试通常不会出现任何问题(在几百次测试中,只有一次显示滞后)。
服务器位于交换机和防火墙后面,我无法访问,因此我不知道它们的设置或状态。虽然我们的负载比正常情况下要重,但 2 Mbps 的传入流量和 20 Mbps 的传出流量不应该给交换机或防火墙带来压力,不是吗?我的感觉是,这是交换机/防火墙或 ISP 上层的东西(如 DNS)的问题,但无法确认。
我需要一些其他测试或方法来诊断这种滞后,以尝试缩小最终原因。
答案1
问题原来是防火墙设置了 10,000 个连接的硬性限制。追踪这一问题的困难主要是因为无法访问防火墙,也无法说服服务提供商确实存在问题。