我们的托管服务器有时会出现网络访问速度非常慢的情况。在此期间,从我们的任何服务器 ping 到默认网关会导致 ping 时间长达 500 毫秒(而不是正常的 2-3 毫秒)。没有数据包丢失。
ISP 声称他们的网络没有问题,问题肯定出在托管服务上。托管服务人员声称他们没有遇到第 3 级问题,他们说一切都没有问题。
我认为我们的服务器连接到一个交换机,该交换机通过共享 ATM 线路连接到默认网关。Traceroute 没有显示路径上有任何路由器。
在更换服务提供商之前,我可以检查什么来解释导致此问题的原因吗?
答案1
路由器不会优先处理 ICMP。ping 路由器并得到高延迟毫无意义(好吧,无论如何这不是你想要的)。如果你 ping 一个路由器跳数之外的 unix 系统会发生什么?或者因为我们要处理 500ms,如果是当你 ping 你所在大陆的任何人时,延迟就会清晰显示出来。
答案2
您可能还想尝试 mtr(mtr-tiny 是我在每台服务器上都安装的一个不错的软件包)。
它将为您提供有关您与目标之间的所有跳转的详细信息。试试看。
答案3
通常情况下,我会避免 ping 默认网关来测量延迟。回答 ICMP 是路由器执行的优先级最低的任务,因此 500 毫秒的延迟意味着路由器很忙(如果有很多人 ping 它,甚至可能没有忙于路由数据包,因为他们认为这是衡量网络的好方法)。
如果可能的话,找到默认网关另一侧的主机并 ping 一下。这样可以更好地判断是否存在问题。
这类事情(应答 ICMP EHO 请求和其他非必要的流量处理)被降低优先级的原因之一是,这样更难以通过简单地对路由器进行 smurfing 来导致拒绝服务。
答案4
工具PingPlotter将为您提供traceroute
随时间变化的数据图表,以便您可以准确地看到在何时何地出现问题。