记一次局域网文件传输速度瓶颈排查
单板机使用超5类网线连接路由器百兆端口,路由器连接光猫千兆端口,笔记本通过Wifi连接路由器。
单板机和笔记本都安装iperf3:
sudo apt install iperf3
单板机执行:
iperf3 -s
如果单板机配置了防火墙,需要放行5201端口:
sudo ufw allow 5201/tcp
笔记本执行以下命令(IP为单板机地址):
iperf3 -c 192.168.1.8 -t 30
测试结果吞吐速率在10-15Mbps之间,明显不正常。
使用ifconfig查看Wifi设备名称:
sudo apt install net-tools
ifconfig
使用ethtool查看有线网卡链路速率:
sudo apt install ethtool
sudo ethtool end0 | grep Speed
使用iw查看无线网卡链路速率:
iw dev wlp4s0 link | grep bitrate
单板机的链路速率10Mb/s,笔记本的链路速率是72Mb/s。所以怀疑网线质量问题,更换后单板机的链路速率达到100Mb/s,iperf3测试达到了32Mbps左右。
台式电脑通过网线连接光猫百兆端口,与单板机不在同一网段。偶然需要使用台式电脑连接单板机,只得开启路由器AP模式,发现台式电脑的传输速率接近100Mbps。
笔记本是10多年前的老产品了,只支持2.4G频段,查看链路速率只有72Mbps,吞吐速率只有32Mbps是因为Wifi工作在半双工模式外加损耗。
手机连接Wifi 5G频段,速率433Mbps,说明手机是1×1 MIMO单空间流。开启AP后目测局域网内下载文件速度比之前快一些。
我的路由器也是非常老的产品了,性能应该是弱于光猫的,因此,开启AP后应该有所提升。如果路由器性能本身比较好则不建议开启AP模式。
2025年12月21日补充
本本的Wifi模块突然挂了,拆开将Wifi模块的金手指用橡皮擦擦干净,发现链路速率达到了150Mbps,于是又折腾了一下。
查看路由器2.4G频段Wifi当前频宽为40MHz,不过在附近Wifi干扰下必然会降回20MHz。如果在路由器中强制频宽40MHz,可能在附近Wifi干扰下会出现丢包、掉线的情况。所以,选择用户最少的信道是关键。
查看无线链路协商情况:
iw dev wlp4s0 link
结果如下:
SSID: BeiZiGen
freq: 2412
RX: 531435 bytes (1194 packets)
TX: 213156 bytes (665 packets)
signal: -33 dBm
rx bitrate: 65.0 MBit/s MCS 7
tx bitrate: 72.2 MBit/s MCS 7 short GI
bss flags: short-slot-time
dtim period: 1
beacon int: 100
- SSID:网络名称;
- freq:当前连接的频率(MHz);
- RX:从 AP 收到的数据量;
- TX:发给 AP 的数据量;
- signal:信号强度:-30 dBm(极强), -80 dBm(很差);
- rx bitrate / tx bitrate:当前链路的真实速率,重点关注参数;
- bss flags:AP 是否启用了保护机制?
- short-slot-time:正常,表示 802.11g/n 模式;
- CTS-protection:AP 启用了 CTS-to-Self 或 RTS/CTS 保护机制,会自动降频;
- HT-protection:AP 检测到 legacy 设备或干扰,会导致降速;
- short-preamble:AP 使用短前导码,性能更好。
- dtim period:AP 广播 DTIM 的周期,1 是正常;
- beacon int:Beacon 间隔,100ms 是标准值。
扫描附近Wifi筛选最优信道:
nmcli dev wifi
结果如下:
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BAR>
* BeiZiGen Infra 11 270 Mbit/s 100 ▂▄▆>
ap-bridge-A-73 Infra 6 65 Mbit/s 60 ▂▄▆>
ChinaNet-5-1 Infra 11 130 Mbit/s 52 ▂▄_>
TP-LINK_6741 Infra 1 405 Mbit/s 44 ▂▄_>
ChinaNet-5-1 Infra 11 130 Mbit/s 42 ▂▄_>
- IN-USE:当前自己连接的Wifi;
- BSSID:MAC地址;
- SSID:网络名称;
- MODE:模式:Infra(基站模式,正常路由器),Ad-Hoc(点对点模式);
- CHAN:Wifi所在信道;
- RATE:AP 广播的最大支持速率;
- SIGNAL:信号强度;
- BAR:图形化的信号强度;
从结果可以看出,信道11除了自己还有两个设备(虽然名称相同,但MAC地址不同);信道1虽然只有1个,但速率405 Mbit/s,信号强度也不弱,干扰比较大;信道6虽然信号强,但65 Mbit/s的速率说明是老旧设备。
2.4G频段可用信道有1、6、11,所以,根据之前的测试结果,最终选择了信道6。
2.4G频段可用信道太少、干扰大,扩频后反而更慢,所以频宽设置为20/40MHz。
5G频段信道多、干扰少,扩频能显著提升吞吐,所以频宽选择固定最大值,而不是自动切换。

