我需要估计各种专用服务器托管提供商的网络连接性,例如我的服务托管在那里时的执行速度和统一程度。我traceroute
在家用计算机上使用命令来检查提供商托管的服务器;如果我不知道,那么我就traceroute
访问他们的主页(我知道它可能不在同一个网络上;这是一个猜测)
直觉上我的目标是:
- 最小跳数,
- 目标节点和中间节点的最小往返时间,
- 和缺乏星星:
所有这些指标都与一般 Web 服务托管相关吗?做什么星星我真的应该避免它们吗?
答案1
星星表示链中的设备未响应您的 ICMP / UDP 数据包。这可以是路由器、防火墙或配置为不响应的主机。通常只有当你将它们与响应混合在一起时它们才会有趣,例如
21 * 10 ms *
这表明跃点 21 处或附近的设备间歇性响应或间歇性可用。
您收集的指标是否有用取决于您在连接结束时托管的服务。 Web 浏览器需要不同类型的性能来传输视频流或多聊天音频等。
一般来说,数字(响应时间和跳数)确实会影响性能,但对于网页浏览来说,它可能可以忽略不计,除非路由中的某些跳数 >200 毫秒。更令人担忧的是,许多星星与同一行上的响应混合在一起(如果您不知道连接是否有效,则充满星星的行将更难以解释)。
答案2
中间设备的跳数(如果合理)和响应时间完全不重要,因为:
1) 这些设备并非旨在无损响应您的 icmp 请求
2)路由器上经常有icmp限速策略
3) 定向到路由器的 ping 必须由 CPU 处理,转发的数据包则不需要
您应该仅测量端到端的 RTT 和数据包丢失。
Traceroute 输出中的星星表示,当 TTL 数据包超出时,该设备不会回复 echo icmp(这就是 Traceroute 的工作原理,从 ttl=1 开始向目标发送 icmp 请求,并将该值增加 1)