游戏卡顿白皮书 › L4 公网链路
传播延迟(物理距离) Propagation delay
原因 ID isp-distance · 主责 运维团队·系统运维 · 配合 运维团队·网络运维, 研发团队·服务器开发
在含图示和实验的完整版中打开此卡片 →
光在光纤里每秒也只能走约 20 万 km。服务器离得远,条件再好也会慢。
起因 服务器离得远(海外服务器、其他大洲) → 结果 往返时间随距离增加(每 1,000 km 至少 10 ms) → 画面表现 所有动作都有固定的操作延迟,判定上吃亏
- 症状
- 操作延迟
- 因素
- 延迟
- 谁会遇到
- 特定地区/运营商
- 何时出现
- 一直
- 负责方
- 主责 运维团队·系统运维 · 配合 运维团队·网络运维, 研发团队·服务器开发
- 研发团队要做的事
- 物理定律无法靠代码改变,只能缓解:提供区域选择,让玩家选近的区服;用延迟补偿(回溯)减少判定上的劣势。
- 运维团队要做的事
- 服务器/OS:在玩家多的地区就地部署服务器。网络:在靠近玩家的地方设接入节点(边缘),选择绕行少的线路和路由。
- 数值参考
- 首尔–东京约 30 ms,首尔–新加坡约 75 ms,首尔–美国西海岸约 140 ms,首尔–欧洲约 230~270 ms(往返,按实际路径)。去欧洲的直线方向上几乎没有大容量光缆,要绕道东南亚、苏伊士或美国,所以比按距离推算的长得多。
- 监控图上
- 一直偏高 · RTT(按国家/地区)
- 查看位置
- 给接入 IP 标上国家,看各国的 RTT 分布;再从当地云区域的 VM 或 RIPE Atlas 探针(按国家、ASN 挑选)向服务器跑 ping、traceroute
- 确认依据
- 远方国家的 RTT 不分时段一直偏高,数值接近按距离算出的最小延迟(每 1,000 km 往返 10 ms)和公开的延迟统计
- 排除依据
- 比距离能解释的值高得多,看“路由绕行”;只在晚上升高,看“高峰时段对等互联链路拥塞”
- 确认手段
- 运维工具即可确认(无需游戏代码)
- 真实案例
- Riot Games 2015: 绕远路的 League of Legends 流量与 Riot Direct
出处
- ITU-T G.114: One-way transmission time ITU
光缆传播时延规划值 5 µs/km(约每秒 20 万 km,1,000 km 往返 10 ms) - Azure network round-trip latency statistics Microsoft Azure
以首尔(Korea Central)为起点的实测往返中位数:东京 30 ms,新加坡 68 ms,美国西海岸 124~136 ms,欧洲 234~244 ms - AAE-1 & SMW5 cable cuts impact millions of users across multiple countries Cloudflare
欧洲与亚洲之间的流量大多走经过埃及(苏伊士)的海底光缆 - Probe Selection (RIPE Atlas REST API) RIPE NCC
RIPE Atlas 测量可按国家、地区、ASN、地址段挑选探针,执行 ping、traceroute
相关原因
同一层:L4 公网链路
其他层中同样导致“操作延迟”的原因
查看含图示和实验的原卡片