Router 開咗 QoS 反而更 lag?先測 bufferbloat 再決定點改
3C 產品

Router 開咗 QoS 反而更 lag?先測 bufferbloat 再決定點改

圖片:via XDA Developers — https://www.xda-developers.com/router-qos-bufferbloat-fix/
TechLab 編輯部(譯)·

由修改前後測試、設定 SQM 到復原,一步步搵出延遲來源

QoS 有幾種,唔好一見延遲就全部關晒

XDA 作者話,佢原本喺 router 將視像會議排最高、下載排最低,但 Waveform 測試期間,滿載延遲仍然升到約 300ms。刪走優先級規則、設定頻寬上限同改用 FQ-CoDel 後,問題先受控。呢個係作者個人環境嘅結果,TechLab 冇測試佢部 router,亦唔代表每款 QoS 都會拖慢連線。品牌介面經常將封包分類、流量整形、頻寬限制同智能佇列全部叫做 QoS,實際做緊嘅嘢可以差好遠。

傳統裝置或 app 優先級,主要決定塞車時邊批封包行先;bufferbloat 就係設備儲起太多封包,令新封包排喺長龍後面。單靠重新排序,條龍仍然可以愈排愈長。OpenWrt 將 SQM 定義為流量整形、速率限制、封包排程同主動佇列管理嘅組合,CAKE 同 FQ-CoDel 就係常見排程方案。換句話講,關掉傳統優先級規則同啟用 SQM 可以同時成立,唔等於完全放棄 QoS。

啟用流量整形後嘅 Waveform bufferbloat 測試結果畫面

圖片:OPNsense

修改前先留低一組可靠數據

先影低現有設定,記錄 QoS 開關、下載及上載上限、裝置規則同所用模式;router 支援匯出設定檔嘅話亦一併備份。跟住停晒雲端同步、大型下載同串流,用 Ethernet 線直接駁 router,喺同一部電腦、差唔多時段連跑三次 Waveform bufferbloat 測試。記低閒置 ping、下載滿載延遲、上載滿載延遲同吞吐量,唔好淨係望 A、B、C 評級。Gigabit 光纖亦要用 Gigabit 或以上有線連接,否則 Wi-Fi 或網卡先塞住,測唔盡條寬頻。

之後只改一項:先關閉裝置、遊戲或 app 優先級 QoS,重新啟動 router,再用相同方法跑三次。平均滿載延遲跌咗、吞吐量又冇明顯損失,先值得保持關閉;數字冇分別,即係嗰堆規則大概幫唔到手。假如延遲反而升咗,原有 QoS 可能包含頻寬整形,唔可以當成普通優先級開關。即刻恢復原設定,再查清楚廠方點樣解釋呢個模式。

仍然滿載高 ping,就試 SQM/CAKE

Router 有 SQM、Smart Queue、CAKE、FQ-CoDel 或類似選項,先以實際多次測到嘅穩定速度作基準。OpenWrt 入門指引建議下載同上載先填測速結果約 90%;OPNsense 文件就建議由供應商標示速度嘅 85%起步,再逐步提高。兩個數字都只係起點,目的係將樽頸留喺 router,等佢控制輪候時間。每次只加少量下載或上載上限,重跑相同測試;見到滿載延遲明顯回升,就退返上一個設定。

CAKE 功能較完整,FQ-CoDel 通常輕量啲,實際選邊個要睇 firmware 同硬件。OpenWrt 明確提醒 SQM 由 CPU 處理,舊 router 未必追得上高速連線,部分硬件流量加速亦可能同 SQM 衝突。假如開 SQM 後 ping 靚咗,但 Gigabit 吞吐量大跌,個樽頸好可能轉咗去 router CPU。呢種情況可以試 FQ-CoDel、只整形較慢嘅上載方向,或者換運算能力較好嘅 router;唔好為追求測試評級,白白斬走幾百 Mbps。

高速光纖同舊 router,答案可以完全相反

高速對稱光纖平時好難真正用盡,單靠裝置優先級通常冇咩感覺,SQM 所付出嘅吞吐量同 CPU 成本亦可能高過佢慳到嘅延遲。多人同時打機、開視像會議、上載影片同做雲端備份時,測試先較有代表性。至於上載頻寬較窄、速度波動明顯,或者仲用緊舊 router 嘅連線,一個大型備份已經可以塞滿上載;設定得啱嘅 SQM,作用往往清楚過手動指定某部裝置行先。

傳統優先級亦未至於冇用。公司設備要保證語音流量、家中有固定低頻寬連線,或者 router 個「QoS」模式本身已包含整形,保留規則可能較合理。IETF 嘅 FQ-CoDel 文件指出,將不同流量分開輪候,可以減少大型突發流量阻住 DNS、網頁同視像通話。呢種按流量公平排程,通常亦實際過長期維護一張裝置名單,尤其部手提電腦而家可能閒置,原本排低咗嘅手機卻開緊會。

改壞咗點復原

吞吐量大跌、部分 app 斷線或者延遲冇改善,就先關閉 SQM/Smart Queue,將手動下載及上載上限改回原值;部分 firmware 用「0」代表無限制,另一些要揀 Auto,未查清楚唔好亂填。再按截圖重開原有 QoS 規則,或者匯入修改前嘅設定檔,重啟 router 後重跑三次基準測試。若連恢復設定都解決唔到,就要分開檢查 Wi-Fi 干擾、網線、光纖終端、router CPU 負載同供應商線路,因為 bufferbloat 測試差唔代表問題一定喺 QoS。

最穩陣嘅做法係保留修改前後數字:高速連線滿載延遲本身唔高,可以保持簡單設定;一忙就爆 ping 嘅連線,再逐步調校 SQM 上下行上限。Router 選單寫住「Gaming」或者「Adaptive」唔代表佢識得控制長佇列,最後都係睇相同條件下嘅延遲同吞吐量。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook