延迟 (工程学)
延迟(英语:Latency)也译潜伏时间,它是指做出触发动作与得到响应之间的时间间隔。[1]延迟实际上是任何物理相互作用在有限速度内传播产生的结果。该速度始终低于或等于光速。因此,不论触发的性质,任何空间维度不为零的物理系统都将存在某种延迟。
延迟的精确定义取决于被观察系统与产生触发的物质。在通信系统中,等待时间的下限由通信的介质确定。在可靠的双向通信系统中,等待时间受到信息传输最大速率的限制,即处在传输中的信息总量有限。在人机交互领域,可察觉的延迟对用户满意度和可用性有很大影响。
通信延迟
[编辑]分组交换网络
[编辑]网络延迟(Network latency)在分组交换网络中可指单向(来源发送分组到目标接收到分组所需时间)或来回通讯延迟(源发送分组到目标的单向延迟+目标向源发回分组的单向延迟)。更常使用的是往返通信延迟,因为它可以通过单个点完成测量。注意,往返通信延迟不包括目标系统处理分组或花费的时间量。大多数软件平台提供称为ping的服务,它可以用作测量往返通信延迟。Ping不对分组进行处理,它只是在收到一个分组时发送一个响应(即无操作),因此它是一个粗略的测量延迟的方法。Ping不能完成精确的测量,[2]尤其因为它使用为诊断与控制目的的ICMP协议,不同于TCP等实际通信用网络协议。此外,路由器和互联网服务供应商(ISP)可能对不同的协议采用不同的流量整形策略。[3][4]
对于更精确的测量,最好使用专门的软件,例如:lft、paketto、hping、superping.d、NetPerf、IPerf。 延迟限制了可靠的双向通信系统中的总吞吐量,描述见带宽时延乘积。
光纤
[编辑]延迟主要受到光速的限制,它在真空中的速度为299,792,458米/秒,这等同于每公里路径长度需3.33µs。大多数光纤电缆的折射率约为1.5,这意味着光在真空中的传播速度比在电缆中快约1.5倍。根据计算可以得出大约每公里5.0µs的延迟。在较短的城域网中,延迟会因为建设立管和交叉连接和略微上升,比每公里5.0µs略微提高一点。
因此,为计算连接的延迟,必须知道光行进的距离。光缆很少呈为直线,因为它必须穿越地理轮廓和障碍物,例如道路、铁轨或其他限制条件。由于光纤本身的缺陷,当光透射通过时,它会产生损耗。因此对于大于100公里的线路,需要部署放大器或再生器。无源放大器通常以复合衰减成本增加比再生器更少的延迟时间,尽管这两种情况都可能是高度可变的,应仔细考虑。尤其是,传统跨度更可能使用较高延迟时间的再生器。
卫星传输
[编辑]新闻主播与远距离的记者进行远程连线可以说明一些问题。信号将从演播室通过位于地球同步轨道的通讯卫星传送给记者,以及一路返回到地球同步轨道、演播室,全程超过十万公里。整个链路所耗费的时间很容易察觉。即使信号以光速行进,这样的距离仍需花费半秒的时间(不包括通信设备内微小的处理延迟)。
近地轨道有时有利于削减这种延迟,代价是在地面上进行更复杂的卫星跟踪,并需要更多的卫星形成卫星星座以确保连续覆盖。
音频延迟
[编辑]音频延迟是指音频信号输入与系统输出之间的延迟。音频系统中潜在的延迟包括类比数位转换器、缓冲器、数字信号处理、传输时间、数位类比转换器以及空气中的声音传播速度。
操作延迟
[编辑]任何系统中的单个工作流程都可能受到某种类型的操作延迟影响。取决于参与者的类型和目标结果,单个系统甚至可能受到多种类型的延迟影响。下面以航空旅行的两个例子作为说明。
消费者视角
[编辑]从乘客角度说,等待时间可以描述如下:假设乘客从伦敦飞往纽约,他的旅行延迟是他从英国的住宅到达纽约的酒店的时间。这独立于伦敦-纽约空中链路的吞吐量,无论是每天有100个或10000个乘客出行,行程的延迟都保持不变。[需要解释]
生产者视角
[编辑]从航空业角度来看,延迟则完全不同。考虑到伦敦和纽约机场的工作人员有限,只能有有限数量的飞机进行跨大西洋之旅。所以当一架飞机落地时,他们必须尽快为回程做好准备。它可能需要例如:
- 35分钟清洁飞机
- 15分钟给飞机加油
- 10分钟装载旅客
- 30分钟装载货物
假设上述流程是逐个完成,最少需要时间:
- 35 + 15 + 10 + 30 = 90 分钟
不过,清洁、加油和装载货物可以同时进行。清洁完成后就可以装载乘客。因此,延迟被减少为:
- 35 + 10 = 45
- 15
- 30
- 最小延迟 = 45 分钟
参与上述周转的人员只对他们参与的环节所花费的时间感兴趣。当所有环节完成时,等待时间减少为最长任务所花费的长度{{what}}。如果某些环节具有先决条件,则并行执行所有步骤更加困难。在上述例子中,在装载乘客前清洁飞机的要求将导致比单个任务还长的最小等待时间。
机械延迟
[编辑]任何机械过程都受到经典力学模型的限制。碟盘存储的行为提供了机械延迟时间的例子。在此例中,它是指盘片旋转移动至读写磁头适合读取已编码数据位置的时间,以及将读写磁头从当前位置到转移到适当位置的时间(并可能包含读写磁头的致动器臂转移到适当轨道上方所需的时间)。这也被称为旋转延迟和寻道时间,因为基本术语潜伏时间(latency)也指计算机的电子器件(例如内存)和软件执行轮询、中断和直接记忆体存取所需要的时间。
计算机硬件和操作系统延迟
[编辑]计算机运行一系列行程所发出的指令。在操作系统中,如果有进程正在执行,则其他进程的指令被推迟处理。此外,操作系统可以调度何时执行进程所发出的指令。在嵌入式系统上,底层嵌入式操作系统通常支持指令的实时执行。
在模拟器与模拟中
[编辑]在模拟类应用程序中,潜伏时间指延迟时间,通常的测量单位为毫秒(千分之一秒)。在初始输入与模拟器受训者或模拟器主体获得清晰可辨的输出之间的延迟时间,有时也被称作“传输延迟”。
参见
[编辑]参考资料
[编辑]- ^ "What is Latency?". [2017-01-10]. (原始内容存档于2020-10-25).
- ^ Don't misuse ping!. [29 April 2015]. (原始内容存档于2017-10-12).
- ^ Shane Chen. Network Protocols Discussion / Traffic Shaping Strategies. 2005. (原始内容存档于2007-01-09).
- ^ Basic QoS part 1 – Traffic Policing and Shaping on Cisco IOS Router. The CCIE R&S. [29 April 2015]. (原始内容存档于2015-04-12).
- M. Brian Blake. Coordinating Multiple Agents for Workflow-Oriented Process Orchestration (PDF). Information Systems and e-Business Management Journal (Springer-Verlag). December 2003. (原始内容 (PDF)存档于2006-09-01).