SD-WAN 网关上的数据包处理引擎涉及多个阶段,并且每个阶段之间都会有一个数据包处理队列。由于通过网关的流量具有突发性,预计数据包转发队列中偶尔会出现数据包堆积。不过,如果在某些队列中队列长度持续较高,则表示存在容量问题。
以下示例显示 debug.py
命令输出以查看切换队列输出。
为了简洁起见,截断了输出以仅显示第一个和最后一个条目。您可以在命令中排除 -v
选项以使用表格格式查看输出。
vcadmin@vcg1-example:~$ /opt/vc/bin/debug.py -v --handoff { "handoffq": [ { "deq": 12126489784, "drops": 0, "enq": 12126482089, "name": "vc_queue_net_sch", "qlength": 0, "qlimit": 4096, "sleeping": 1475174572, "tid": 1502, "wmark": 1280, "wmark_1min": 385, "wmark_5min": 450, "wokenup": 1164664965 }, … { "deq": 767292, "drops": 0, "enq": 767272, "name": "vc_queue_ip_common_bh_1", "qlength": 0, "qlimit": 16384, "sleeping": 596612, "tid": 1512, "wmark": 53, "wmark_1min": 3, "wmark_5min": 3, "wokenup": 596209 } ] } vcadmin@vcg1-example:~$
您需要关注 qlength 和 wmark 值。
qlength 列指示当前在队列中缓冲的数据包数。wmark 列指示队列曾经到达的最大深度,这表示网关距离丢弃数据包有多远。这些问题的影响和修复在很大程度上取决于监控的队列。
您应同时监控关键队列和非关键队列。