游戏卡顿白皮书 › L13 服务器架构与运维
场景切换(服务器间迁移) Zone / server handoff
原因 ID in-zone-transfer · 主责 研发团队·服务器开发 · 配合 运维团队·系统运维
在含图示和实验的完整版中打开此卡片 →
进入其他区域或副本时,要把角色数据交给另一台服务器,这个过程中会出现延迟和失败。
起因 进入副本、跨大陆移动,负责的服务器随之更换 → 结果 存盘 → 传递 → 加载;目标服务器拥挤或没有空闲副本实例时要排队 → 画面表现 加载时间长,进入失败,移动途中掉线
- 症状
- 连不上/无限加载, 卡住, 掉线, 拉回
- 因素
- 延迟, 停顿
- 谁会遇到
- 只有我, 特定地点/分线
- 何时出现
- 移动中/切换地图时
- 负责方
- 主责 研发团队·服务器开发 · 配合 运维团队·系统运维
- 研发团队要做的事
- 减少迁移数据,提前预留目标服务器,失败时回到原来的位置。
- 运维团队要做的事
- 监控副本、场景服务器的空闲实例余量,高峰前备好足够台数。
- 监控图上
- 随人数/负载上升 · 场景切换耗时、失败次数
- 查看位置
- 服务器记录的迁移各阶段耗时(存盘、传递、加载)和失败原因,目标服务器的人数和空闲实例数
- 确认依据
- 在加载时间长、进入失败的反馈时刻,迁移耗时增加或失败集中出现,且目标服务器拥挤或空闲实例耗尽
- 排除依据
- 迁移很快完成,到达后才卡住,看“进入密集区域时实体生成激增”或客户端加载
- 确认手段
- 需要游戏服务器/客户端的日志和指标
- 深入了解
- 没有加载过程的无缝大世界,跨过服务器边界时负责的服务器也会更换。在边界附近可能会顿一下,或出现拉回现象。
出处
- The Unique Architecture behind Amazon Games’ Seamless MMO New World AWS
把没有加载过程的世界划分成网格,由多台服务器(Hub)分管,玩家移动时把状态从一个 Hub 交给另一个 Hub;会话制模式从共享池中领取空闲服务器使用
相关原因
同一层:L13 服务器架构与运维
其他层中同样导致“连不上/无限加载”的原因
查看含图示和实验的原卡片