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