Golang社区提供了一个HTTP / 2演示网站,以比较HTTP 1.1和HTTP / 2之间的性能。
我们可以选择不同的值latency
,例如0s延迟,30 ms延迟,200ms延迟。
- 是
latency
计算机科学的术语吗? - 这意味着什么?
latency
和之间有什么区别Round Trip Time
?
Golang社区提供了一个HTTP / 2演示网站,以比较HTTP 1.1和HTTP / 2之间的性能。
我们可以选择不同的值latency
,例如0s延迟,30 ms延迟,200ms延迟。
latency
计算机科学的术语吗?latency
和之间有什么区别Round Trip Time
?Answers:
“延迟”可能意味着不同的含义。通常,这是某种程度的延迟-应用程序延迟是应用程序的反应时间(从输入到输出),网络延迟是从A点到B点获取数据包的延迟等等。
“往返时间”或多或少地被定义为从点A到B再返回的网络延迟。这是两个方向上所有编码,排队,处理,解码和传播延迟的总和。从本质上讲,这是延迟,当A期望B要求很少处理的请求得到答案时。
通常,将往返时间与A和B之间的ping时间进行比较。ping时间可能为有效的RTT提供了一个很好的值,但是由于所使用的ICMP数据包之间的潜在路由和处理差异,它也可能是其他值通过ping以及那些实际使用的协议数据包。
在您的情况下,“延迟”表示HTTP服务器中的人为延迟,它是在已经存在的延迟之上添加的。因此,如果到服务器的有效往返时间为50毫秒,然后选择“ 200毫秒延迟”,则可以期望在250毫秒内回复请求(加上服务器的处理开销)。
要为其他答案添加一些背景知识,必须记住网络延迟可能会发生很大变化,并且会影响用户的体验。
网络延迟的最明显来源之一是距离:承载数据的信号以或多或少的光速传播,因此从客户端到服务器的传播距离越长,延迟就越高。通过以太网电缆链接的两台计算机之间的通信将花费几毫秒。与服务器在海洋上的通信将花费数十或数百毫秒。通过对地静止卫星进行的通信将花费数百毫秒。
这在执行ping时很明显可见,该ping测量往返时间,在这种情况下,该时间非常接近两个方向上的延迟之和。
其他会影响延迟的因素:
延迟对用户体验(或不影响)有很大影响:
即使在非交互情况下,延迟也会产生影响(如OP的示例所示):当有许多小文件要下载时,如果协议必须等待一个文件,则延迟可能导致更长的总加载时间与允许同时发送多个请求的协议相比,该协议可以在开始下载下一个文件之前完全下载,并且在连续文件之间不中断地发送响应。
往返时间(RTT)是数据包从发送端点到接收端点再返回所花费的时间。影响RTT的因素很多,包括传播延迟,处理延迟,排队延迟和编码延迟。对于给定的一对通信端点,这些因素通常是恒定的。此外,网络拥塞还会为RTT添加动态组件。
RTT和ping是否相同?
往返时间和ping时间通常被视为同义词。虽然Ping时间可以提供良好的RTT估计,但不同之处在于,大多数Ping测试是在使用ICMP数据包的传输协议中执行的。相反,RTT是在应用程序层进行测量的,包括由更高级别的协议和应用程序(例如HTTPS)产生的额外处理延迟。
RTT和网络延迟如何?
网络延迟密切相关,但与RTT不同。延迟是指数据包从发送端点到接收端点所花费的时间。许多因素可能会影响服务的延迟。延迟并不明确等于RTT的一半,因为延迟在任何两个给定端点之间可能是不对称的。RTT包括回显端点处的处理延迟。