什么是延迟? | 如何解决延迟问题

Internet 延迟是用户请求 Web 资源时发生的延迟。低延迟对于建立良好的用户体验非常重要,而高延迟则会导致用户离开。

Share facebook icon linkedin icon twitter icon email icon

延迟

学习目标

阅读本文后,您将能够:

  • 了解什么是延迟以及造成延迟的原因
  • 解释网络延迟、带宽和吞吐量之间的区别
  • 了解如何减少延迟

什么是延迟?

延迟是用户操作与结果响应之间经过的时间。网络延迟特指网络内部或 Internet 上发生的延迟。实际上,延迟是指用户操作与网站或应用程序对此操作做出响应之间的时间,例如,用户点击网页链接到浏览器显示该网页之间的延迟时间。

什么是延迟?

尽管 Internet 上的数据以光速传播,但由于 Internet 基础设施设备造成的距离和延迟的影响,延迟永远无法完全消除。但延迟可以并且应该最小化。大量的延迟会导致网站性能下降, 对 SEO 产生负面影响 ,并可能导致用户完全离开网站或应用程序。

什么导致互联网延迟?

网络延迟的主要原因之一是距离,特别是发出请求的客户端设备与响应这些请求的服务器之间的距离。如果网站托管在俄亥俄州哥伦布市的数据中心,它将在 10 到 15 毫秒之内迅速响应辛辛那提(约 100 英里外)用户的请求。而洛杉矶(约 2200 英里外)的用户将面临接近 50 毫秒的更长延迟。

增加几毫秒似乎并不算多,但客户端和服务器建立连接所需的所有来回通信、页面的总大小和加载时间,以及数据沿路经过的网络设备,都会导致延迟加剧。客户端发出请求后,响应到达客户端设备所花费的时间量称为往返时间(RTT)

穿越 Internet 的数据通常不仅要跨越一个网络,还要跨越多个网络。HTTP 响应需要通过的网络越多,造成延迟的机会就越多。例如,当数据包跨越网络时,它们会通过 Internet 交换点(IXP)。在那里,路由器必须处理和路由数据包,有时路由器可能需要将它们分解为较小的数据包,所有这些都会导致 RTT 增加几毫秒。

此外,网页的构建方式也可能导致性能降低。具有大量内容或从多个第三方加载内容的网页可能运行缓慢,因为浏览器必须下载大文件才能显示它们。用户可能就在其要访问的网站的托管数据中心旁边,但是,如果网站包含多张高清图片(举例来说),加载图像时仍然可能会有一些延迟。

网络延迟、吞吐量和带宽

延迟、带宽和吞吐量都相互关联,但是它们衡量的是不同的事物。带宽是在任何给定时间可以通过网络的最大数据量。吞吐量是给定时间段内实际通过的平均数据量。吞吐量不一定等于带宽,因为它会受到延迟的影响。延迟是时间的度量,而不是某时段内下载的数据量。

如何减少延迟?

使用 CDN (内容交付网络)是减少延迟的重要一步。CDN 缓存静态内容,从而大大减少 RTT。(使用 Cloudflare CDN,还可以通过 Cloudflare Workers 缓存动态内容。)CDN 服务器分布在多个位置,因此内容存储在距离最终用户更近的位置,无需传输很远的距离即可到达用户。这意味着加载网页将花费更少的时间,从而提高网站的速度和性能。

Web 开发人员还可以最大程度地减少渲染阻塞资源的数量(例如,最后加载 JavaScript),优化图像以加快加载速度,并尽可能减小文件大小。代码极简化是减少 JavaScript 和 CSS 文件大小的一种方法。

通过策略性地首先加载某些资产,可以减少感知到的延迟。可以将网页配置为首先加载页面的上半版版面区域,以便用户在页面加载完之前就可以开始与页面进行交互(上半版版面指用户向下滚动之前在浏览器窗口中显示的内容)。网页也可以使用延迟加载技术,仅在需要时加载资产。这些方法实际上并没有改善网络延迟,但是确实改善了用户对页面速度的感知。

用户如何解决延迟问题?

有时,网络延迟是由用户端而非服务器端的问题引起的。尽管带宽不能保证网站性能,但如果持续存在延迟问题,消费者始终可以选择购买更多带宽。切换到以太网而不是 WiFi 将使 Internet 连接更加稳定,并且通常会提高 Internet 速度。用户还应定期应用固件更新并在必要时完全更换设备,以确保其互联网设备最新。