怎麼保證和按優先順序管理流量

2021-04-02 14:06:44 字數 2119 閱讀 6037

怎麼保證和按優先順序管理流量?

怎麼保證和按優先順序管理流量?概述

佇列樹通常的應用,是用來限定特殊使用者,協議和埠等等。

在下邊的例子裡將介紹:

•        怎樣保證某一服務的頻寬和使用空閒頻寬

•        怎樣優化乙個服務(pop3)在其它的服務中(http 、 ftp)

2.        然後當我們有了用flow-mark 標記的資料報,我們就可以用它來構建乙個佇列樹

新增乙個佇列保證有全部頻寬(512kbps)的80% ,就是409.6kbps ,給http服務。如果其它服務空閒時可以使用全部的頻寬:

新增乙個佇列給ftp保證有15% (76,8kbps):

quote:

/queue tree

add name="ftp-queue" parent=local flow=ftp limit-at=76800 max-limit=512000

現在新增乙個佇列保證全部頻寬5% (25,6kbps)給pop3服務使用. 設定這個服務的優先順序為優先順序7. 這意味著這條佇列比其它之前的佇列有著更高的優先順序(預設的優先順序是8) 所以他能在http-queueftp-queue之前處理:

quote:

/queue tree

add name="pop3-queue" parent=local flow=pop3 limit-at=25600 max-limit=512000 priority=7

pop3資料流因為更高的優先順序,所以他能夠搶先處理,比其他服務有更小的延遲通過路由。

使用limit-atmax-limit引數,你能控制給服務允許的最小和最大的頻寬。首先,limit-at是能夠達到的速率,然後如果有更多的能用頻寬,他將使用這些頻寬(上邊例子裡是512kbps)

注意:對於正確設定的佇列樹所有limit-at的值得總和應該小於或低於總的頻寬。這裡是25,6kbps + 76,8kbps + 409,6kbps = 512kbps.

Linux程序優先順序和調整優先順序

linux 是乙個多使用者 多工的作業系統,系統中通常執行著非常多的程序。但是 cpu 在乙個時鐘週期內只能運算一條指令 現在的 cpu 採用了多執行緒 多核心技術,所以在乙個時鐘週期內可以運算多條指令。但是同時運算的指令數也遠遠小於系統中的程序總數 那問題來了 誰應該先運算,誰應該後運算呢?這就需...

NVIC中斷優先順序管理

1.stm32的中斷分組 每個中斷設定乙個搶占優先順序和乙個響應優先順序值,分組配置是在暫存器scb aircr中配置。注意 一般情況下,系統 執行過程中,只設定一次中斷優先順序分組 數值越小所代表的優先順序就越高。1 高優先順序的搶占優先順序可以打斷正在進行的低搶占優先順序中斷的。2 搶占優先順序...

NVIC中斷優先順序管理

1 參考資料 stm32f1開發指南 庫函式版本 4.5 小節 中斷優先順序分組管理 stm32中文參考手冊v10 第9章 中斷和事件 2 nvic中斷優先順序分組 cm3核心支援256個中斷,其中包含了16個核心中斷和240個外部中斷,並且具有256級的可程式設計中斷設定。stm32並沒有使用cm...