用户是一家做工业设备的厂商,近期项目上计划上一批“工业相机”,方案是通过无线网桥接入甲方核心网实现回传,拓扑很简单如下:
服务器—核心网—主网桥 ))(( 子网桥—工业相机
然而用户采购了一批WIFI5的无线网桥本地搭类似拓扑测试,发现近距离桥接、协商速率达866Mbps的情况下,实际吞吐量也只有150Mbps,远不能满足工业相机的使用:

接下来一起看看如何排查此问题。
一般来讲,针对这种最基本的吞吐量测试问题,要丛产品性能、软件版本上考虑:
确认网桥的规格是否符合方案;
确定网桥产品的软件版本是否厂商最新;
考虑是否存在性能瓶颈问题。
第一步:确认网桥的规格是否符合方案
-
用户采购的是双天线WIFI 5网桥,无线协商866Mbps,理论上实际吞吐量是协商速率*60%,也就是500Mbps上下才是符合预期的
(这里有人会问:为啥协商速率866M实际上只能由500M的传输?怎么和有些协商千兆跑千兆不一样呀?因为无线要考虑ACK交互损耗,并且无线环境会有大量的丢包重传,所以收发的有效数据包和有线差别是很大的,这里不展开讲原理了,结论自己记一下就行,WIFI6、WIFI7百分比更高一些)
所以设备的规格符合方案,但是实际吞吐不符合预期;然后和厂商400技术支持确认,设备版本最新。接下来就考虑产品性能问题了。
第二步:确认跑流时网桥设备的CPU性能
跑流测试的时候登录网桥页面查看其CPU情况,确实发现了异常,跑流时竟达到了100%:

用户怀疑是个例样机的问题,然后换了几对测试也是这样,难道去确定是产品问题?致电厂商后,那边本地也搭了类似拓扑测试吞吐量,用iperf3能跑到450Mbps+,没复现问题,怀疑和用户本地测试的流有关系。接下来wireshark抓去本地的iperf3测试流看看有什么问题。
第三步:抓取数据流分析
抓包发现实验测试PC跑Iperf3时,发的居然时9K字节以上的巨型帧,还有17000字节的,没有分片,这才发现了问题“电脑的网卡启用了巨型帧9K”(但这里能发出17000字节的包也不知道为什么,理论上来说MTU应该是9K字节才对):

无线设备基本不支持巨型帧,所以均会分片然后封装无线帧头传输,性能大大降低:

原因定位:
实验室搭建无线网桥拓扑,模仿工业相机的跑流测试起不来的原因是因为PC网卡开了巨型帧。据用户描述,工业相机默认也是支持巨型帧9K传输的,所以他们才这样做的测试,但实际上有线网络环境不影响,无线则会导致网桥性能降低。
采用无线网桥回传方案就不要开启巨型帧了(工业相机也不要启用巨型帧),PC关闭巨型帧后吞吐量也能跑上去了:

发表回复