Skip to content

OpenWrt 上的 SQM 與 CAKE:線路滿載時仍保持低延遲

滿載時壓低延遲,先以實測頻寬的 90% 設定。

SQM(Smart Queue Management)會將流量整形到略低於線路速率,讓佇列形成在可管理的路由器內,而不是數據機裡。搭配 CAKE 佇列規則使用時,線路忙碌也能保持低延遲。這個問題稱為 bufferbloat。

  1. 安裝 luci-app-sqm,若不使用 LuCI 則安裝 sqm-scripts。
  2. 量測你實際的下載與上傳速度,然後把兩者都設為你量測值的 90%。
  3. 選擇 cake 搭配 piece_of_cake.qos。
  4. 在負載下再次測試並調整。fq_codel 搭配 simple.qos 是較輕量、功能較不完整的替代方案。

CAKE 自 Linux 核心 4.19 起便已內建。

安裝 SQM 之後:

Terminal window
cat /etc/config/sqm
  • 流量整形會使用 CPU。在高速線路上,小型路由器可能跟不上,因此請比較前後的速度與延遲。
  • 速率請依據量測結果設定,而不是依據方案宣稱的速度。

來源

Router.Homes

獨立的 OpenWrt 實作筆記。每頁都寫明韌體、裝置、套件管理員與復原途徑。

圖示:Solar by 480 Design, CC BY 4.0