游戏卡顿白皮书 › L13 服务器架构与运维
脚本/机器人过多 Bots and macros
原因 ID in-bots · 主责 研发团队·服务器开发 · 配合 运维团队·网络运维
在含图示和实验的完整版中打开此卡片 →
机器人发请求的频率远高于真人,会吃掉服务器的处理能力。
起因 大量不停重复打怪、移动、交易的机器人登录 → 结果 服务器处理量和 DB 负载增加 → 画面表现 特定练级点或全服变慢(慢动作、操作延迟)
- 症状
- 慢动作, 操作延迟
- 因素
- 停顿
- 谁会遇到
- 全服, 特定地点/分线
- 何时出现
- 一直, 晚高峰
- 负责方
- 主责 研发团队·服务器开发 · 配合 运维团队·网络运维
- 研发团队要做的事
- 检测机器人,按账号、角色限制请求频率。
- 运维团队要做的事
- 按 IP 限制连接和请求频率(网吧、移动网络是多人共用一个 IP,要留出余量),用防火墙、WAF 封禁机器人网段。
- 监控图上
- 仅部分偏高 · 按账号、IP 统计的每秒请求数
- 查看位置
- 用游戏服务器日志查看按账号、角色统计的每秒请求数分布和排行。没有代码指标时,看防火墙、WAF 中按 IP 统计的请求数
- 确认依据
- 少数账号、IP 以真人不可能达到的频率不停请求,限制它们之后服务器负载明显下降
- 排除依据
- 请求在各账号间分布均匀,则是正常的人数增长(tick 超出预算、弹性伸缩延迟)
- 确认手段
- 需要游戏服务器/客户端的日志和指标
出处
- Using rate-based rule statements in AWS WAF AWS
按 IP 等维度统计请求数,在设定的时间窗口内过多时限速 - RFC 6269: Issues with IP Address Sharing IETF
多个用户共用一个 IP 时,按 IP 封禁或限制会连带拦住其他用户
相关原因
同一层:L13 服务器架构与运维
其他层中同样导致“慢动作”的原因
查看含图示和实验的原卡片