延迟(Latency)

Posted simonbaker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了延迟(Latency)相关的知识,希望对你有一定的参考价值。

Latency is a synonym for delay。在电信领域,低延迟与积极的用户体验 (UX) 相关,而高延迟与糟糕的 UX 相关。

在计算机网络中,延迟表示数据包从一个指定点传输到另一个指定点所需的时间。理想情况下,延迟将尽可能接近于零。网络延迟可以通过确定数据包往返目的地的往返时间 ( RTT )来衡量。(网络延迟 vs RTT)

高网络延迟会显着增加网页加载时间、中断视频和音频流,并使应用程序无法使用。根据应用程序的不同,即使延迟的相对较小的增加也会破坏用户体验。
延迟不佳的主要原因之一是地理位置。高度分布式的互联网协议 (IP) 网络跨越很远的距离,增加了可能使应用程序脱轨的传输时间。在感知和响应之间的延迟需要极低的任何情况下——例如,自动驾驶中的某些动作——将处理数据的计算机尽可能靠近数据源是有意义的,一个被称为边缘计算的概念。

电信延迟的原因

延迟可能由许多原因引起,包括以下几点:

  • 传输媒体。延迟会受到用于传输数据、语音和视频的媒体类型的影响。例如,与通过Cat5电缆传输的数据包相比,通过T1线路传输的数据包预计会遇到更低的延迟。
  • 数据包大小。一个大数据包比小数据包需要更长的时间来发送往返。
  • 丢包和抖动。高百分比的数据包未能到达目的地或某些数据包从一个系统传输到另一个系统所需的时间变化太大也可能导致延迟。
  • 信号强度。如果信号很弱并且必须通过中继器增强,这可能会导致延迟。
  • 传播延迟。如果每个 网关 节点 都必须花时间检查并可能更改数据包中的标头——例如,更改生存时间 (TTL ) 字段中的跳数——延迟会更高。
  • 其他计算机和存储延迟。如果数据包在中间设备(例如交换机)上受到存储和硬盘访问延迟的影响,则延迟可能会更高。

延迟类型

中断延迟 是计算机处理信号所用的时间长度,该信号告诉主机操作系统 ( OS ) 停止,直到它可以决定它应该做什么来响应事件。

光纤延迟是光通过光纤电缆传输指定距离所需的时间。根据光速,每覆盖一公里 (km),自然会发生 3.33 微秒 (μs) 的延迟。然而,实际上,光纤电缆的每公里延迟约为 4.9 微秒——这是因为光在电缆中传播速度较慢。电缆中的弯曲或其他缺陷可能会使延迟更高。

Internet 延迟 时间取决于距离。数据包在全球广域网 ( WAN ) 中传输的时间越长,延迟就越高。

WAN 延迟 可能是确定 Internet 延迟的重要因素。无论是从局域网 ( LAN )上的服务器、该网络上的另一台计算机还是 Internet 上的其他地方请求资源,忙于引导其他流量的 WAN 都会产生延迟。

音频延迟 是创建和听到声音之间的延迟。在物理世界中产生的声音中,这种延迟由声速决定,声速根据声波 传播的介质而略有不同 。声音在密度较大的介质中传播得更快:它在固体中传播得更快,在液体中传播速度较慢,在空气中传播最慢。在音频中,可接受的中间延迟约为 8 到 12 微秒。侦听器通常会注意到 30 毫秒 (ms) 的延迟。
如果操作在线性工作流中执行,则操作延迟可以定义为操作的总时间 。在并行工作流中,延迟由单个任务工作者执行的最慢操作决定。

机械延迟 是从输入到机械系统或设备到所需输出的延迟。这种延迟是由基于牛顿物理学的机制限制决定的(量子 力学除外 )。

计算机和操作系统延迟 是输入或命令与所需输出之间的组合延迟。导致计算机延迟增加的原因包括数据缓冲区不足 以及微处理器与输入/输出 (I/O) 设备之间的数据速度不匹配。

延迟测试和测量

延迟测试可能因应用程序而异。在某些应用中,测量延迟需要特殊和复杂的设备或特殊计算机命令和程序的知识;在其他情况下,可以使用秒表测量延迟。网络管理员有许多工具可供选择来执行此操作,包括 Traceroute、My traceroute (MTR) 和 Ping。
Ping命令用于确定用户尝试访问的主机是否正在运行。为了评估延迟,网络管理员向网络上的指定接口发送 Internet 控制消息协议 ( ICMP ) 回显请求并等待回复。
还可以使用traceroute命令收集有关延迟的信息。Traceroute 可视化数据包通过 IP 网络的路径,记录路由上每个主机之间的延迟。MTR 混合了 Ping 和 Traceroute 的元素来跟踪路径上设备之间的延迟和总传输时间。
为了评估机械延迟,高速摄像机可用于捕捉从输入到机械动作的响应时间的微小差异。

减少延迟

可以通过调整、调整和升级计算机硬件、软件和机械系统来减少延迟。在计算机内,延迟可以通过诸如预取(预测对数据输入请求的需求)和多线程或通过跨多个执行线程使用并行性等技术来消除或隐藏。
减少延迟和提高性能的其他步骤包括卸载不必要的程序、优化网络和软件配置以及升级或 超频 硬件。

延迟与吞吐量

无论吞吐量和延迟通常用于衡量网络性能和完善的加载时间。
延迟可以被认为是执行一个动作所需的时间,而吞吐量可以被认为是在一个单位时间内可以执行的动作数量。换句话说,延迟衡量数据传输的速度,而吞吐量衡量可以发送多少数据。
带宽是另一个经常与延迟相关的概念。带宽描述了网络/互联网连接的最大容量。网络的带宽越少,延迟就越大。
要了解带宽与延迟的关系,请将带宽视为管道,将吞吐量视为管道在指定时间内可以携带多少水。延迟成为水到达目的地所需的时间。管道越小,水到达目的地所需的时间就越长。同理,管道越大,水到达目的地的速度就越快。带宽和延迟以这种方式具有因果关系。

以上是关于延迟(Latency)的主要内容,如果未能解决你的问题,请参考以下文章

交易吞吐率throughput和延迟latency的区别

latency是啥意思?

每个程序员都应该知道延迟数—Latency Numbers Every Programmer Should Know

FPGA中的delay与latency

理解Throughput和Latency

dstat 如何测量延迟?