应先查看物理链路协商速率再确认硬件能力:powershell中get-netadapter显示linkspeed为1000000000即千兆成功,若为100000000则降速;设备管理器“连接速度和双工模式”含1.0 gbps选项即为千兆网卡。
直接看网卡实际协商速率,别只信“1gbps”图标。很多传输慢不是带宽不够,而是双端协商失败,降到了100mbps甚至10mbps——windows server 界面不显示协商结果,得靠命令和日志确认。
查物理层协商状态:用 PowerShell 看真实速率
在服务器上以管理员身份运行:
Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Select-Object Name, LinkSpeed, MediaType, PhysicalMediaType
重点看 LinkSpeed 字段。如果显示 “100 Mbps” 或 “10 Mbps”,而你预期是 “1 Gbps”,说明协商已失败。注意:
– LinkSpeed 是当前生效速率,不是标称速率
– 若显示 “Unknown”,通常表示驱动未正确识别链路状态,需更新驱动
– 同时检查 MediaType(如 802.3ab 表示千兆电口)是否匹配实际网线与交换机端口类型
查交换机侧日志与配置:两端必须对齐
服务器协商失败,90% 源头在交换机。登录交换机后检查以下三项:
- 对应端口是否强制设为 100Mbps/Full 或 10Mbps?应改为 Auto(或 auto-negotiation enabled)
- 是否启用了 MDI/MDIX 自动翻转?老式交换机若用直通线连服务器,禁用该功能会导致协商失败
- 端口是否有错误计数:input errors / CRC errors / runts / giants?持续增长说明物理链路异常(网线劣质、RJ45松动、电磁干扰)
特别提醒:某些交换机(如部分 Cisco SG 系列)默认关闭 auto-negotiation,需手动开启:
interface gigabitethernet1/0/1
negotiation auto
排除驱动与硬件兼容性问题
Server 2012 R2 及更老系统对新平台网卡支持有限,常见于 Intel I219、I225、Realtek RTL8125 等较新型号:
- 打开设备管理器 → 查看“网络适配器”下是否有黄色感叹号;右键 → “属性” → “详细信息” → 选择“硬件 Id”,复制 ID(如 PCI\VEN_8086&DEV_15BB)到 Intel/Realtek 官网查驱动支持列表
- 禁用节能特性:在网卡属性 → “电源管理”中取消勾选“允许计算机关闭此设备以节约电源”;在“高级”选项卡中,将 Energy Efficient Ethernet、Green Ethernet、EEE 全部设为 Disabled(这些功能会干扰协商稳定性)
- 若使用虚拟化环境(如 Hyper-V),确认已启用 VMQ(Virtual Machine Queue) 或 RSS(Receive Side Scaling),但不要与旧版驱动混用;建议升级至厂商最新 WHQL 认证驱动
验证链路质量:用真实流量测,不靠 ping
协商速率只是起点,还要确认链路能否稳定承载数据:
- 用 iperf3 测端到端吞吐:
服务器端:iperf3 -s
客户端:iperf3 -c-t 30 -P 4
若实测长期低于协商速率的 80%(如协商 1Gbps,实测仅 600Mbps),且无丢包,则大概率是驱动或中断处理瓶颈 - 抓包观察重传:
在服务器上运行 Wireshark,过滤 tcp.analysis.retransmission,若持续出现重传,且伴随 TCP window full 或 zero window,说明接收方处理不过来——可能是网卡中断被压制、RSS 配置不当或 CPU 绑核不合理











