本篇指南深入探讨了网络延迟,并详细阐述了减少延迟以提升用户体验的各种可行方法。
在当今互联互通的世界中,数据在各节点间传输时,必然会产生延迟。虽然这种延迟在日常生活中似乎微不足道,但它对互联网的运行方式有着显著的影响。
什么是网络延迟?
简单来说,网络延迟是指数据信号从用户端发送到服务器,再返回用户端所需的往返时间。
然而,实际情况并非如此简单。
图中忽略了数据信号在两端点之间传递时所经过的连接点。这些路由节点是造成网络延迟的主要原因。
值得注意的是,延迟时间通常约为 ping 值的两倍。Ping 值是指数据从用户端到达服务器所花费的时间。尽管如此,有些人仍会将延迟和 ping 混用,但这在概念上是不正确的。
虽然有些概念容易混淆,但延迟与吞吐量和带宽是有区别的。
零延迟是我们追求的理想状态。但由于距离和连接方式的限制,延迟是不可避免的。尽管如此,网络管理员仍在努力降低延迟,以优化各种互联网应用,例如游戏、视频通话等。
网络延迟的原因
造成高延迟的主要原因是距离。源站点和服务器之间的距离越远,中间的路由节点就越多。每个路由节点都会产生一定的延迟,累积起来就会影响整体延迟。
另一个主要因素是网站的优化程度。这可能由多种原因造成,例如:包含大型媒体文件、跟踪 Cookie(来自 Google Analytics 等服务)、低效的网络托管服务等。
此外,用户端的硬件效率低下(例如 RAM 不足)也会导致高延迟。
最后,网络中的每个元素,例如电缆、路由器、服务器、客户端硬件、软件等,都会对延迟产生影响。
测量网络延迟
路由追踪
这是一种最常用的直接从您的计算机进行测量的技术。打开命令提示符,然后输入 “tracert” 命令,后跟目标地址。
例如,输入 “tracert techblik.com” 将会显示从您的计算机到 techblik.com 网站的所有路由节点。
C:UsersHitesh Sant>tracert techblik.com Tracing route to techblik.com [2606:4700:839a:d810:7339:41f:a5a:b5b7] over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms 2401:4900:1c1a:404d::1 2 7 ms 5 ms 6 ms 2401:4900:1c1a:8fff::1 3 8 ms 5 ms 6 ms 2404:a800:1a00:802::a5 4 36 ms 36 ms 37 ms 2404:a800::2 5 36 ms 37 ms 38 ms 2404:a800:0:29::b1 6 34 ms 45 ms 33 ms 2400:cb00:202:3:: 7 33 ms 34 ms 33 ms 2606:4700:839a:d810:7339:41f:a5a:b5b7 Trace complete.
在这种情况下,总延迟将是各列时间的平均值,代表连续跳跃之间的往返时间 (RTT)。
Nirsoft 延迟视图
虽然 traceroute 工具适用于跳数少于 30 的单个端点,但 Nirsoft 延迟视图 可以显示所有出站连接的延迟情况。
此外,这个完全免费的工具还能提供到达同一目的地的所有连接的平均延迟值。
请看以下示例:
SolarWinds Traceroute NG
Traceroute NG 是另一款出色的工具,可以针对单个服务器运行多次延迟测试。
它会持续检查延迟值,直到您停止。该仪表板可以提供特定目标的实时和平均延迟值。
同样,还有许多其他工具可以用于查找网络路径和延迟。
高延迟的影响
您可能会好奇为什么延迟如此重要。它不仅对游戏玩家重要,对我们完整的互联网体验也至关重要。
高延迟会导致每个连接互联网的服务加载缓慢,这会极大地影响用户体验。
例如,如果每次页面加载都需要 30 秒,您还会使用 Facebook 吗?统计数据显示,网站加载的每增加一秒,都会导致跳出率增加。甚至 两秒的加载时间也会导致用户减少近 10%。
如果加载时间增加到 7 秒,网络流量将会下降 32%。
高延迟不仅会影响访问者,还会影响您在网上进行的任何操作,无论是视频通话、演示、支付等。
即使网络容量(即带宽)很大,高延迟也会降低单位时间内可传输的数据量(即吞吐量)。
总而言之,低延迟的网络才能真正有效,网络管理员也在不断努力降低延迟以提高生产力。
减少网络延迟
虽然您无法直接控制端点之间的网络,但您可以采取一些措施来减少延迟。
优化网络的首要任务是解决最大的问题——距离。最佳实践是将业务托管在您拥有主要客户群的地区。
但是,如果您的客户遍布全球,那么使用内容分发网络 (CDN) 可以有效地解决这个问题。请注意,尽管市场上有免费的 CDN,但使用它们可能会对您的网络性能产生负面影响。
因此,如果您使用 CDN,最好进行网站审核以验证更改效果。
定期更新软件也是改善高网络延迟的一个有效方法。此外,确保您的硬件能够充分发挥网络潜力也很重要。
此外,无线网络通常延迟较高。因此,尽可能尝试使用有线连接。此外,选择优质的光纤网络也有助于最大限度地减少延迟。
此外,使用 HTTP/2 可以通过同时加载各种页面元素等方式减少延迟。您可以通过 techblik.com 的 HTTP/2 测试来检查这一点。
最后,尝试实施数据缓存并优化媒体文件以尽量减少延迟。
结论
出色的用户体验是任何组织成功的关键。如果您是一家在线企业,那么您应该认真对待速度问题。
当然,还有其他因素需要考虑,以进一步优化您的网站。