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

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

网卡带宽饱和 NIC bandwidth saturation

原因 ID nic-saturate · 主责 研发团队·服务器开发 · 配合 运维团队·系统运维

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

流量用到 1 Gbps、10 Gbps 网卡的极限时,发送队列会越排越长,最终数据包被丢弃。

起因 广播增多,发送量达到网卡极限 → 结果 发送队列变长,溢出后丢弃 → 画面表现 全服延迟、丢包(操作延迟、瞬移)

症状
操作延迟, 瞬移
因素
延迟, 丢包
谁会遇到
全服
何时出现
人多的时候
负责方
主责 研发团队·服务器开发 · 配合 运维团队·系统运维
研发团队要做的事
减少发送量(AOI 过滤、压缩、只发增量)。
运维团队要做的事
升级网卡(换更快的网卡,云上换更大的实例);对网卡利用率设告警。
监控图上
触顶后走平 · 网卡发送量、发送丢弃
查看位置
把 sar -n DEV 1 的 txkB/s 和 %ifutil(相对接口速率的利用率)与网卡速率、实例带宽对比,同时看 ip -s link 的 TX dropped
确认依据
发送量在网卡或实例带宽附近走平,从那时起发送丢弃和全服延迟增加
排除依据
带宽有余量,则不是这个原因。小包多且有丢包,看“超出云 PPS 上限”
确认手段
运维工具即可确认(无需游戏代码)

出处

  1. Interface statistics Linux kernel
    tx_dropped:因资源不足在发送过程中丢弃的包数
  2. Amazon EC2 instance network bandwidth AWS
    实例可用的带宽由 vCPU 数(实例大小)决定
  3. sar(1) — Linux manual page sysstat
    -n DEV 的 rxkB/s、txkB/s 和 %ifutil(相对接口速率的利用率)

相关原因

同一层:L6 服务器网卡

其他层中同样导致“操作延迟”的原因

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