延迟是系统延时的衡量指标。网络延迟是指数据通过网络从一个点传输到另一个点所需的时间。高延迟网络具有较长的响应时间,而低延迟网络具有较短的响应时间。
维持低延迟网络非常重要,因为延迟会直接影响生产力、协作、应用程序性能和用户体验。延迟越高(响应速度就越慢),这些方面受到的影响就越大。随着企业推进数字化转型,并在物联网中越来越依赖云基础的应用和服务,低延迟显得尤为关键。
我们先来看看一个显而易见的例子。如果较高的网络延迟导致应用程序性能不足或加载时间缓慢,那么组织的客户可能会寻找替代解决方案。如今,个人用户和企业用户比以往任何时候都更加期望获得快如闪电的性能。如果组织使用企业应用程序来提出资源建议,而这项功能依赖于从不同来源提取的实时数据,则高延迟可能会导致效率低下。这种效率低下的问题可能会对应用程序的性能和价值产生负面影响。
所有企业都喜欢低延迟。然而,在依赖于传感器数据或高性能计算的行业和用例中(例如自动化制造、支持视频的远程操作(想想手术中使用的摄像头)、直播或高频交易),低延迟对于企业的成功至关重要。
高延迟还会造成浪费。假设一个组织希望通过增加或重新分配计算、存储和网络资源的投入,来提升应用和网络性能。如果它未能解决现有的延迟问题,该组织最终可能会收到更大的账单,但性能、生产力或客户满意度得不到提升。
网络延迟以毫秒为单位,是通过计算从源系统发起发送操作到目标系统完成相应的接收操作之间的时间间隔来测量的。2
测量延迟的一个简单方法是运行“Ping”命令,这是用于测试两台设备或服务器之间连接的网络诊断工具。在此类速度测试中,延迟常被称为 Ping 速率。
该测试中,互联网控制消息协议 (ICMP) 回送请求数据包被发送至目标服务器,然后返回。Ping 命令会计算数据包在源与目标之间往返一次所需的时间。这一总传输时间称为往返时间 (RTT),大约等于延迟的两倍,因为数据必须传输到服务器再返回。Ping 不被视为延迟的精确测量方式,也不是用于检测定向网络延迟问题的理想测试。之所以存在这种限制,是因为数据可能会通过不同的网络路径传输,从而在往返过程的两个方向上遇到不同的情况。
延迟、带宽和吞吐量是相关的术语,有时会被混淆为同义词,但实际上是指不同的网络功能。正如我们所注意到的,延迟是指数据包通过网络连接在两点之间传输所需的时间。
带宽是衡量在任意给定时间内可通过网络的数据量的指标。带宽的单位是每秒数据单位,例如每秒兆位 (mbps) 或每秒千兆位 (gbps)。在选择家用连接选项时,您通常会从服务提供商那里了解到这种衡量方法。这很容易引起混淆,因为带宽不是速度的衡量指标,而是容量的衡量指标。虽然高带宽可能有助于实现较高的网速,但这方面的能力也依赖于延迟和吞吐量等因素。
吞吐量是特定时间范围内实际通过网络的平均数据量的衡量指标,考虑到了延迟的影响。它反映了成功到达的数据包数量和丢失的数据包数量,通常以每秒位数为单位,有时也称为每秒数据。
影响网络性能的另一个因素是抖动。抖动是指网络中数据包流延迟的变化。一致的延迟优于高抖动,后者可能会导致丢包,即:数据包在传输过程中被丢下,永远无法到达目标。
有助于记住延迟、带宽和吞吐量之间关系的一个简化方法是:带宽是可通过网络传输的数据量,吞吐量是每秒实际传输数据量的衡量指标,而延迟是传输这些数据所需的时间。
将数据从客户端传输到服务器再返回的旅程可视化,有助于了解延迟以及造成延迟的各种因素。网络延迟的常见原因包括:
说得直白一些就是,发起请求的客户端与做出响应的服务器之间距离越远,延迟就越高。位于芝加哥的服务器与位于纽约的服务器响应洛杉矶用户请求的时间可能仅相差几毫秒。但在这场竞赛中,即使几毫秒也非同小可,而且这些毫秒会积少成多。
其次,要考虑传输数据的介质。是光纤网络(一般延迟较低)、无线网络(一般延迟较高)还是通常情况下由多种介质构成的复杂网络?
用于数据传输的介质会影响延迟。数据在到达目的地之前必须经过路由器等网络设备从一个网段移动到下一个网段的次数(网络跳数)也会影响延迟。跳数越大,延迟就越高。
数据包大小以及网络上的整体数据量都会影响延迟。较大的数据包需要更长时间传输,如果数据量超过网络基础设施的计算能力,就可能出现瓶颈并导致延迟增加。
过时或资源不足的服务器、路由器、集线器、交换机和其他网络硬件会导致响应速度变慢。例如,如果服务器接收的数据量超出其处理能力,数据包就会延时,从而导致页面加载、下载速度变慢,以及应用程序性能下降。
图像和视频等文件较大的页面资产、阻碍渲染的资源以及源代码中不必要的字符都可能导致更高延迟。
有时延迟是由用户侧的因素造成的,例如带宽不足、互联网连接不佳或设备过时。
为了减少网络延迟,组织可以从以下网络评估开始:
- 我们的数据是否沿最短、最高效的路径传输?
- 我们的应用程序是否具有实现最佳性能所必需的资源?
- 我们的网络基础设施是否处于最新状态、适合工作需要?
子网在本质上是较大网络内部的较小网络。子网划分可以将频繁相互通信的端点组合在一起,这样可减少低效路由并降低延迟。
传统监控工具不够快速或者不够全面,无法主动发现并结合具体情境了解当今复杂环境中的性能问题。为了预防问题,组织可以使用提供实时端到端可观测性和依赖关系映射的高级解决方案。利用这些功能,团队可以查明、结合具体情境了解、解决以及预防导致网络延迟的应用程序性能问题。
如果工作负载没有适当的计算、存储和网络资源,就会增加延迟并影响性能。设法通过过度预配来解决这一问题既低效又浪费,而且尝试手动将动态需求与复杂现代基础设施中的资源相匹配是一项不可能完成的任务。
应用资源管理 (ARM) 解决方案可以持续实时分析资源利用率以及应用程序和基础设施组件的性能,有助于解决资源问题并减少延迟。
例如,如果 ARM 平台检测到某个应用因服务器资源竞争而导致高延迟,它可以自动为该应用分配所需资源,或将其迁移到负载较轻的服务器上。此类自动化操作有助于减少延迟并提高性能。
Ping 命令等测试可以对网络延迟进行简单的测量,但不足以查明问题,更不用说解决问题了。组织可以使用网络性能管理解决方案,该方案提供统一的平台,帮助团队发现、解决并预防网络性能问题,从而降低延迟。
IT 团队可以确保他们使用最新的硬件、软件和网络配置,并且组织的基础设施可以满足当前的需求。定期进行网络检查和维护还有助于减少性能问题和延迟。
开发人员可以采取措施确保页面构建不会增加延迟,例如优化视频、图像及其他页面资源以加快加载速度,并通过代码最小化实现这一目标。
1“Internet at the Speed of Light”, Yale.edu, 3 May 2022.
2“Effect of the network on performance”, IBM.com, 3 March 2021.