10/100/1000M 自適應網卡傳輸小檔 (KB 級) 時,**相對耗時極長**,大檔 (MB 級) 反而正常。原因:每次傳輸前雙端需經歷 **N-way 協商 (FLP 脈衝交換)** 確認速率/雙工,耗時數十~百毫秒;小檔傳輸時間與協商時間同量級,導致**有效吞吐率極低**。
# 查看支援模式
ethtool eth0
# 臨時生效
ethtool -s eth0 speed 1000 duplex full autoneg off
# 永久生效
# Debian/Ubuntu /etc/network/interfaces
iface eth0 inet static
pre-up ethtool -s eth0 speed 1000 duplex full autoneg off
# RHEL/CentOS /etc/sysconfig/network-scripts/ifcfg-eth0
ETHTOOL_OPTS="speed 1000 duplex full autoneg off"
interface gigabitethernet 1/0/1
speed 1000
duplex full
! 關鍵:雙端同為 manual,不可一端 auto 一端 manual
| 誤區 | 後果 | 正確做法 |
|---|---|---|
| 單端鎖定、單端自適應 | 雙工不匹配 → 大量 CRC/碰撞/晚發衝突 → 速度極慢 | **雙端同鎖定** 或 **雙端同自適應** |
| 鎖定 100M 但線纜只支援 10M | Link 不起來 | 確認線纜等級 (Cat.5e 以上跑千兆) |
| 以為鎖定後不需檢查 | 環境變化 (換線/換設備) 導致不匹配 | 變更佈線/設備後**必須同步檢查雙端配置** |
# Windows
netsh interface ipv4 show subinterfaces "乙太網路" # 觀察 MTU/狀態
# 傳輸測試
robocopy /MT:16 /R:0 /W:0 源目標 # 多線程複製觀察速度
# 或 iPerf3 雙端測試
iperf3 -c 服務器IP -P 8 -t 30
鎖定後小檔傳輸延遲應顯著下降,大檔吞吐穩定於線速 90%+。