三层交换机之测速不达标问题
测速原理
工程现网中,常用的测速方式有以下两种:
1) SpeedTest测速,即电脑打开SpeedTest网页测速
2) QOE测速软件,即手机下载QOE测速软件测速
这两种测速方式都是通过建立TCP/IP连接,收发数据包来进行测速。对于三层交换机而言,属于已知单播流。
它们的共同之处是,上下行已知单播流均存在瞬时突发的特点,特别是下行数据流,这样就会对交换机及下游网络形成冲击。这种情况下,测速不达标,往往都是因为下行数据报文突发导致丢帧引起的。解决这类问题的关键是,通过调整端口帧间隙、流控、MMU队列资源、桶深等参数,尽可能保证下行数据流不丢包。
举例说明
工程现网报障,开通千兆家宽用户,手机连接路由器WIFI热点,使用QOE测速软件测速不达标,电脑接ONU LAN口,使用SpeedTest测速达标。
有线测速下行985Mbps
无线测速下行651Mbps
首先,通过包统计发现,QOE测速时,交换机UNI端口存在DROP_PKT包统计
查看SDK代码发现,DROP_PKT指Total Egress Queue Drop Count,即EQ队列丢包。
测速时,观察THDO_QCOUNT_CELL_0计数,发现队列256存在突发(TOTAL_COUNT计数值高,说明线性转发不及时,报文缓存到队列)
BCM下phy info命令查看,测速端口ge24的端口号为27。THDO_QCOUNT_CELL_0的Index计算方式为,CPU端口占据0~47,其他端口每个端口占据8个COS队列,依次排序。这样算下来,ge24端口的COS 0队列的Index为256。
需要注意的是,不同交换芯片,不同配置,CPU端口占用的队列数,以及每个端口占用的队列数不是固定的,具体情况具体分析。
接下来,通过调整THDO_QCONFIG_CELL中,对应ge24端口COS 0队列的表项的参数,实际测速确认是否达标。
其中,Q_MIN_CELL表示COS 0队列固定分配的cell数,Q_SHARED_ALPHA_CELL表示端口所有队列共享cell数的alpha权重值。
此外,调整ge24端口的帧间隙,从96bits改为64bits。
最终,测速值达到996Mbps.