性能

什么是RTT?

又称: round-trip time, ping
定义

RTT is the time for a packet to travel to a destination and for the response to return, measured in milliseconds. The physical floor is about 1 ms per 100 km each way: light in fibre travels at roughly two-thirds of c and real routes are around 1.35 times the great-circle distance.

为什么RTT很重要

物理极限约为每 100 公里单程 1 毫秒:光在光纤中的传播速度约为光速的三分之二,实际路由约为大圆距离的 1.35 倍。任何提供商都无法突破这个极限,这就是为什么位置比任何硬件规格更能决定感知速度。优秀的网络所能做的是接近这个极限——通过直接对等互联而不是三次中转跳数,以及没有拥塞、不会在距离之上增加排队延迟的链路。请注意,ICMP ping 和应用层往返时间不是同一测量:路由器通常会降低 ICMP 的优先级,因此 ping 可能看起来比用户实际体验到的 TCP 握手更差。每个 OnionVPS 位置页面都发布到其他每个区域的估计 RTT,基于上述公式计算,使得数字可复现而非宣传性质。

RTT的实际应用

运行服务器时,RTT是衡量用户感知延迟的基准。我从几个观测点监控它,而不仅仅是我自己的数据中心。如果我的应用到某个区域的RTT较高,我首先检查路径是否经过三个中转跳或拥塞链路;那是可以修复的排队延迟。如果是距离问题,我会移动实例。出错意味着感觉缓慢的服务,任何硬件规格都无法解决,因为物理法则设定了下限。好消息:ICMP ping的RTT可能误导,因为路由器降低这种流量的优先级;请用真实的TCP握手来测量。

人们对RTT常见的误解

常见的错误是将ICMP ping视为最终的RTT数值。很多人认为ping告诉他们用户的体验,但路由器降低ICMP的优先级,因此ping可能表现得更差,而实际TCP握手并非如此。纠正:使用应用层测量来获取真正的用户界面延迟。

RTT —— 常见问题

RTT与ping有何关系?

RTT和ping经常互换使用,但ping特指ICMP回显请求。RTT是更广泛的概念,涵盖任何往返,包括TCP握手。Ping可能不可靠,因为路由器降低ICMP优先级,所以可能高估用户实际经历的RTT。

最小可能的RTT是多少?

物理下限大约是每100公里1毫秒(单程),实际路由约为大圆距离的1.35倍。没有提供商能超越这一点,因为光在光纤中传播速度为光速的三分之二。位置比任何硬件都重要。

更多来自性能

CPU steal time(CPU偷取时间)
Steal time是虚拟CPU已准备好运行但hypervisor将物理核心给了另一个客户机的时间比例。
抖动
抖动是数据包延迟随时间的变化,不同于平均延迟本身。
TTFB
TTFB 衡量从发送请求到收到响应的第一个字节所花的时间。