1. 词元服务器:先锁NUMA,再谈并发
近期AI推理服务器性能腰斩案例中,60%源于NUMA节点间内存访问跨域。立即检查你的推理框架(如vLLM或TensorRT-LLM)是否绑定CPU核心与GPU所在的同一NUMA节点。执行numactl --cpunodebind=0 --membind=0启动服务,并观察首token延迟。若延迟下降超过15%,则继续调整max_num_seqs参数,建议从默认值减半,减少显存碎片导致的调度抖动。
2. 带宽杀手:启用ECN但务必配合WRED
本周某客户机房因AI训练同步流量(AllReduce)占满40G链路,引发TCP全局同步。根因是交换机仅开启ECN标记,未配置WRED丢弃策略。请立即在核心交换机端口下执行:wred ecn-profile并设置ecn-threshold min-threshold 2000 max-threshold 6000(以包数为单位)。同时,对RoCEv2流量单独设置优先级队列,并用priority-flow-control开启无损模式——仅对AI存储流量,严禁全端口启用。
3. 软件层:堵住DMA buffer泄漏
排查近期更新过网卡驱动(特别是Mellanox ConnectX-6及以上)的服务器。使用ethtool -S eth0 | grep dma观察dma_mapping_error计数。若持续增长,说明驱动与内核模块版本不匹配。快速止血方案:回滚驱动至发行版自带版本,并设置ethtool -K eth0 tx-checksum-ipv4 off临时降低DMA压力,随后申请维护窗口升级内核至5.15+。
4. 带宽整形:按业务类型划分令牌桶
不要对总带宽做单一限速。在出口路由器上创建两个QoS队列:队列A(AI推理响应,低延迟)保证最低30%带宽且突发不受限;队列B(日志备份/模型同步)限制峰值不超过总带宽40%,并设置police cir 10gbps bc 20mb。关键指令:class-map match-all AI-TRAFFIC匹配DSCP值46(EF),然后policy-map SHAPER内嵌嵌套策略。测试时用show policy-map interface确认无超出预期丢弃。
5. 隐藏瓶颈:中断合并导致词元响应毛刺
针对高吞吐AI网关,检查网卡中断合并参数。若ethtool -c eth0显示的rx-usecs高于20,高延迟流量会被迫等待合并超时。建议临时设置为rx-usecs 8并配合adaptive-rx on。注意:这会让CPU占用上升约5%,但词元首字节延迟(TTFT)可降低40%。务必在业务低峰期调整,并监控CPU软中断占比不超过30%。
6. 软件定义网络:清理陈旧流表条目
本周某SDN控制器因流表超时时间设得过大(默认300秒),导致AI短连接会话占满TCAM。将OpenFlow的idle_timeout调整为60秒,并开启fast-failover组表。重点检查ovs-vsctl list flow中带有tcp_flags的条目——对纯ACK包强制上送控制器处理,避免硬件快路径缓存失效。
7. 可执行的最终检查:带宽延迟乘积测试
优化完成后,不要只ping测延迟。使用iperf3 -P 8 -w 4M进行窗口放大测试,同时监控ss -ti显示的cwnd是否呈阶梯上升。若在10G链路下吞吐低于7Gbps,立即检查MTU是否一致(全链路强制9000),并确认中间防火墙未开启conn-track的TCP窗口缩放选项。目标:AI训练任务带宽利用率提升30%,且无重传率超过0.01%。



0 留言