한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

游戏卡顿白皮书 › L6 服务器网卡

超出云 PPS 上限 Cloud PPS / bandwidth allowance

原因 ID nic-cloud-pps · 主责 运维团队·系统运维 · 配合 研发团队·服务器开发, 外部·外部

在含图示和实验的完整版中打开此卡片 →

云服务器每种规格都有每秒包数和带宽上限,超出部分会被悄悄丢弃。

起因 同时在线人数增加,每秒包数超过实例上限 → 结果 云网络丢弃超出部分 → 画面表现 原因不明的丢包导致瞬移、吞技能。服务器 CPU 有余量

症状
瞬移, 吞操作/回档
因素
丢包
谁会遇到
全服
何时出现
人多的时候, 晚高峰
负责方
主责 运维团队·系统运维 · 配合 研发团队·服务器开发, 外部·外部
研发团队要做的事
合并数据包(一个 tick 的消息放进一个包);避免频繁发送极小的包。
运维团队要做的事
查看超限计数器(AWS 为 pps_allowance_exceeded、conntrack_allowance_exceeded 等)并设告警;换更大的实例;连接跟踪上限通过不产生跟踪的安全组配置来规避。
外部要做的事
向云厂商询问各实例规格的每秒包数和连接跟踪上限。
数值参考
上限因实例大小而异,每秒包数上限很多时候并不公开。小规格实例标称的“最高 10 Gbps”是只在积分未用完时(通常 5~60 分钟)才能达到的突发速率,平时的基准速率要低得多。
监控图上
触顶后走平 · 每秒包数、allowance 超限计数器
查看位置
以较短间隔采集 ethtool -S 中的 ENA 计数器 pps_allowance_exceeded、bw_in_allowance_exceeded、bw_out_allowance_exceeded、conntrack_allowance_exceeded,与每秒包数一起看。也可以用 CloudWatch 代理上报这些计数器并设告警
确认依据
丢包的时刻 allowance 超限计数器增加,每秒包数卡在某个值上不再上涨。服务器 CPU 有余量
排除依据
超限计数器不变,则不是这个原因。单个核心的 %soft 达到 100%,看“网卡中断集中在单个核心”
确认手段
运维工具即可确认(无需游戏代码)
深入了解
conntrack_allowance_exceeded 表示连接跟踪表已满、新连接被丢弃。如果跟踪表还有余量,只是空闲连接因跟踪过期而断开,请看“云安全组连接跟踪过期”。

出处

  1. Monitor network performance for ENA settings on your EC2 instance AWS
    每个实例都有带宽、PPS、连接跟踪上限,超出后先排队再丢弃;pps_allowance_exceeded、conntrack_allowance_exceeded 计数器
  2. Amazon EC2 instance network bandwidth AWS
    16 vCPU 及以下实例的“最高 N Gbps”是靠网络 I/O 积分实现的突发(通常 5~60 分钟),积分用完后回到基准带宽

相关原因

同一层:L6 服务器网卡

其他层中同样导致“瞬移”的原因

查看含图示和实验的原卡片