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 資料行則表示佇列曾經達到的最大深度,這會指出閘道有多接近捨棄封包。這些捨棄的影響和修復方法主要取決於受監控的佇列。
您應同時監控關鍵佇列和非關鍵佇列。