Golang社区提供了一个HTTP / 2演示网站,以比较HTTP 1.1和HTTP / 2的性能。

我们可以选择其他latency,例如0s延迟,30 ms延迟,200ms延迟。

latency是计算机科学的术语吗?
这是什么意思? ?



评论

这个问题和答案可能会帮助您理解。

#1 楼

网络延迟是指从源主机发送的邮件到达目标主机需要多长时间。延迟有很多组成部分,延迟实际上可以从A到B到B到A都不同。并让响应返回到原始来源。基本上,每个方向的延迟加上处理时间。

#2 楼

“延迟”可能意味着不同的含义。通常,这是某种程度的延迟-应用程序延迟是应用程序的反应时间(从输入到输出),网络延迟是从A点到B点获取数据包的延迟等等。

“往返时间”或多或少地被定义为从点A到B再返回的网络延迟。这是两个方向上所有编码,排队,处理,解码和传播延迟的总和。从本质上讲,这是A期望B要求很少处理的请求的延迟。

通常,往返时间与A和B之间的ping时间进行比较。 ping时间可能为有效的RTT提供了很好的价值,但也可能是其他原因,因为ping使用的ICMP数据包与实际使用的协议数据包之间可能存在路由和处理差异。在您的情况下,“延迟”是指HTTP服务器中的人为延迟,它是在已经存在的延迟之上添加的。因此,如果到服务器的有效往返时间为50毫秒,并选择“ 200毫秒延迟”,则可以期望在250毫秒内回复请求(加上服务器的处理开销)。

#3 楼

往返时间(RTT)是数据包从发送端点到接收端点再返回的时间。影响RTT的因素很多,包括传播延迟,处理延迟,排队延迟和编码延迟。对于给定的一对通信端点,这些因素通常是恒定的。此外,网络拥塞还会给RTT添加动态组件。

RTT是否可以ping通?

往返时间和ping时间通常被视为同义词。虽然Ping时间可以提供良好的RTT估计,但不同之处在于,大多数Ping测试是在使用ICMP数据包的传输协议中执行的。相比之下,RTT是在应用程序层进行测量的,其中包括更高级别的协议和应用程序(例如HTTPS)产生的额外处理延迟。 >网络延迟密切相关,但与RTT不同。延迟是指数据包从发送端点到接收端点所花费的时间。许多因素可能会影响服务的延迟。延迟并不明确等于RTT的一半,因为延迟在任何两个给定的端点之间可能是不对称的。 RTT包括回显端点处的处理延迟。

有关RTT的更多博客信息,请参见。

#4 楼

要为其他答案添加一些背景知识,必须记住网络延迟会显着变化,并且会影响用户的体验。

网络延迟最明显的来源之一是距离:承载数据的信号或多或少地以光速传播,因此从客户端到服务器的传播距离越长,延迟就越高。通过以太网电缆链接的两台计算机之间的通信将花费几毫秒。与服务器在海洋上的通信将花费数十或数百毫秒。通过对地静止卫星进行的通信将花费数百毫秒。

执行ping操作时,这很明显,它可以测量往返时间,在这种情况下,它非常接近往返时间的总和。双向延迟。

其他一些会影响延迟的因素:


链路/跳数:在大多数情况下,数据包需要才能在下一个链接上发送之前被完全接收。这会在每个跃点上增加一些延迟;
那些链接的吞吐量:链接越慢,完整数据包通过并在下一个链接上转发所花费的时间就越长; >这些链接的负载:如果一个链接已满,则可能必须将数据包排队直到可以发送;
对于具有本地重传的链接,该链接上的错误率:错误率越高,

延迟可能对用户体验(或不影响)有很大影响:


最著名的情况是影响MMORPG和其他在线游戏玩家的延迟时间。
在另一端控制交互的任何交互行为都受到延迟的影响。 Telnet / ssh,远程桌面都受延迟的影响。
语音通信受延迟的影响,而高延迟会导致人们一直在互相打扰。
较旧的文件传输协议还因为没有实现滑动窗口而遭受延迟,并且发送方在发送下一个之前必须等待数据包到达目的地,并确认返回。 />即使在非交互情况下,延迟也会产生影响(如OP的示例所示):当要下载大量小文件时,如果协议必须等待,则延迟可能导致更长的总加载时间相较于一种协议,该文件允许一次发送多个请求,并且响应的发送在连续的文件之间没有中断。相比之下,一个文件在开始下载下一个文件之前将被完全下载。