CloudService 发表于 2022-12-19 12:53:07

影响网络端到端延迟的因素

网络延迟如何影响应用程序性能。
网络等待时间是数据包在网络上传输所花费的时间。通常以往返时间(RTT)进行测量和报告。一种简单的测量RTT的方法是使用ping命令。跟踪路由命令,并报告RTT为本地系统和远程系统之间的每一跳。
两个系统之间的端到端延迟取决于四个因素:
比特率。
互联网上的平均数据包大小约为500字节,即4000位。例如,以10 Mbps的速率,每秒可以传输10,000,000 / 4000 =

2500个数据包。因此,10 Mbps的链路将增加0.4毫秒(1000 ms / 2500数据包)到RTT,100 Mbps的链路将增加0.04 ms,而1

Gbps的链路仅增加4微秒。
光速。
光以每秒约200,000公里的速度通过光纤传输,大约是真空中光速的三分之二。这意味着数据包必须每经过100

km或60英里的距离,就会使单向延迟增加半毫秒,从而给RTT增加1 ms。
处理。
沿途的路由器和目标系统都需要时间来处理数据包。如今,路由器和主机以每秒数百万个数据包的速度衡量其数据包处理能力,但这并不一定意味着处理单个数据包的时间少于一微秒。但是,对于普通数据包,处理时间通常可以忽略不计。但是诸如ping和特殊数据包以及其他ICMP(Internet控制消息协议)数据包可能会在较慢的路径上进行处理,因此这些工具显示的RTT可能无法反映常规数据数据包所产生的RTT。
在缓冲区中花费的时间。
如果数据包的传入速度快于其传输速度,则它们会缓冲一段时间。排队论表明,平均缓冲区大小取决于网络的利用率。负载为90%的链路的平均队列将缓冲9个数据包(0.9

/(1 – 0.9)=

9)。如果为99%,则为99个数据包,如果为99.9%,则为999个数据包,依此类推。对于较慢的链接,这会很快加起来,但是在Internet核心(通常为10

Gbps的速度)中,不到毫秒的时间就耗尽了999个数据包的队列。
换句话说:在大多数情况下,决定延迟的主要因素是数据包必须经过的物理距离。显然,关于两个通信系统之间的实际距离并不能做很多事情,但是有时数据包的路由要比所需的更长。
页: [1]
查看完整版本: 影响网络端到端延迟的因素