為什麼當有人開啟 YouTube 時你的遊戲 Ping 會爆炸
你正處於遊戲中期。 Ping 穩定在 30ms。你的室友開始播放電影。突然你的 ping 值飆升至 400 毫秒。你用橡皮筋穿過地圖。你死了。他們問“你為什麼大喊大叫?”
或者您正在進行 Zoom 通話。房子裡的其他人開始將照片上傳到雲端。你的影片凍結了。音訊中斷。你的老闆認為你的網際網路是垃圾。
The weird part: your internet speed test shows 300 Mbps down, 20 Mbps up.充足的頻寬。 So why does ONE person using the internet make it terrible for everyone else?
這就是緩衝區膨脹。 它幾乎影響每個家庭網路,即使網際網路速度很快。
Bufferbloat 實際上是什麼(簡單版)
您的路由器有緩衝區(等待區域),用於儲存資料包,同時決定將資料傳送到何處。當這些緩衝區太大時,資料包排隊等待的時間太長,從而產生巨大的延遲。
正常行為:
- 你玩遊戲:30ms ping
- 有人啟動 Netflix:ping 保持 35-40 毫秒
- 幾乎不明顯
緩衝區膨脹行為:
- 你玩遊戲:30ms ping
- 有人啟動 Netflix:ping 值躍升至 200-500 毫秒
- 遊戲無法玩
- 縮放/Discord 變得無法使用
為什麼會發生: 路由器製造商在路由器中放置了巨大的緩衝區,認為“越多越好”。當您的連線飽和(有人下載或上傳)時,這些巨大的緩衝區就會填滿資料包,而新資料包(例如您的遊戲流量或 Zoom 音訊)必須在數百個其他資料包後面等待。
就像一家雜貨店,只有一條收銀臺,但可以容納 200 人排隊。在他們開啟另一個收銀臺之前,隊伍就變得很長。
如何測試緩衝區膨脹(2 分鐘)
測試方法一:波形緩衝膨脹測試(最簡單)
前往: https://www.waveform.com/tools/bufferbloat
它的作用:
- 在載入連線的同時執行速度測試
- 測量負載下 ping 增加的程度
- 給您評分:A+ 到 F
讀取結果:
- A 或 A+: 無緩衝膨脹(罕見)
- B: 輕度緩衝膨脹(在遊戲中明顯)
- C 或 D: 中等緩衝膨脹(非常明顯)
- F: 嚴重的緩衝膨脹(負載下基本無法使用)
尋找什麼:
- 空載 ping:15ms
- 載入 ping:200ms
- 185 毫秒峰值是緩衝區膨脹
測試方法二:手動Ping測試
步驟一: 開啟命令提示符/終端並開始連續 ping:
ping 8.8.8.8 -t
## Watch the ping times
步驟 2: 當 ping 執行時,讓某人開始大量下載或上傳
步驟 3: 觀看 ping 時間:
- 之前: 20-40ms = 正常
- 下載/上傳期間: 仍然 20-60ms = 無緩衝區膨脹
- 下載/上傳期間: 跳至 200-500ms = 緩衝區膨脹
測試方法三:真實遊戲測試
步驟一: 開始遊戲,注意ping正常
步驟 2: 有人:
- 開始 Netflix 4K 流
- 將檔案上傳到 Google 雲端硬碟
- 在 Steam 上下載遊戲
步驟 3: 檢查遊戲 ping 是否出現峰值
如果您的 ping 值增加了一倍或三倍,則說明您出現了緩衝區膨脹。
Real-World Symptoms of Bufferbloat
當其他人使用網際網路時遊戲就無法玩
症狀: 單獨遊戲很流暢。當有人直播、下載或上傳時,你就會落後。
為什麼: 遊戲資料包卡在緩衝佇列中的數百個影片/下載資料包後面。
Zoom/Teams 通話在上傳期間凍結
症狀: 視訊通話工作正常,直到您共享螢幕、上傳檔案或其他人上傳。然後影片凍結並且音訊中斷。
為什麼: 上行緩衝區已滿上傳資料包。您的視訊通話資料包正在排隊等待。
智慧家居裝置停止響應
症狀: Alexa/Google 命令超時。智慧燈沒有反應。恆溫器“離線”。
為什麼: 小命令資料包被困在大量下載佇列後面。
其他人瀏覽時流媒體卡頓
症狀: Netflix/YouTube 緩衝區也是如此。
為什麼: 緩衝區太滿,來自影片伺服器的確認資料包無法足夠快地透過。
速度測試中的高 Ping(負載下)
症狀: 速度測試顯示速度良好,但負載下 ping 為 200-500 毫秒。
為什麼: 速度測試本身是透過測量負載下的延遲來檢測緩衝區膨脹。
如何修復緩衝區膨脹(4 個解決方案排名)
解決方案 1:在路由器上啟用 SQM/QoS(最佳修復)
時間: 15分鐘 費用: 免費 功效: 90-95%
SQM(智慧佇列管理)或 fq_codel 是智慧管理緩衝區的演算法,即使在滿負載下也能保持較低的延遲。
如果您有支援 SQM 的路由器:
OpenWrt/DD-WRT 路由器:
- 登入路由器管理
- 找到“SQM QoS”或“智慧佇列管理”
- 啟用 SQM
- 將下載速度設定為實際速度的 95%(如果您有 300 Mbps,則設定 285)
- 將上傳速度設定為實際的 95%(如果達到 20 Mbps,則設定 19)
- 應用設定
華碩路由器:
- 自適應 QoS → QoS 選項卡
- 啟用 QoS
- 將頻寬限制設定為實際速度的 90-95%
- 在 QoS 型別下,選擇“fq_codel”(如果可用)
TP-Link 路由器:
- 高階 → 服務質量
- 啟用 QoS
- 將總頻寬設定為實際速度的 90-95%
Netgear 路由器:
- 高階 → 設定 → QoS 設定
- 啟用 QoS
- 手動設定,輸入90-95%的速度
為什麼是95%而不是100%? SQM 需要空間才能發揮作用。如果您告訴它您有 300 Mbps,但實際上有 300 Mbps,它無法管理佇列,因為資料包到達的速度比它預期的要快。承諾不足讓它可以控制佇列。
解決方案 2:購買支援 SQM 的路由器(如果您的路由器沒有)
費用: $100-200 功效: 95%
許多預算路由器沒有適當的 SQM。升級永久解決緩衝區膨脹問題。
具有良好SQM的路由器:
- IQ路由器 ($200) - 專門設計用於消除緩衝區膨脹
- 泛快 EdgeRouter X ($60) - 執行 SQM,需要一些技術知識
- GL.iNet 路由器 ($50-150) - 執行內建 SQM 的 OpenWrt
- 任何執行 OpenWrt 或 DD-WRT 的路由器 - 可以新增SQM
具有良好 QoS 的消費者路由器:
- 華碩 RT-AX86U(帶 fq_codel 的自適應 QoS)
- 帶 QoS 的 Netgear Nighthawk
- TP-Link Archer AX50/AX73(有 QoS)
解決方案 3:使用 ISP 的閘道器 QoS(如果可用)
費用: 免費 功效: 60-70%
一些 ISP 閘道器具有基本的 QoS。不如 SQM,但總比沒有好。
康卡斯特 Xfinity 閘道器:
- 登入10.0.0.1
- 連線裝置 → 裝置
- 選擇裝置 → 編輯
- 將遊戲/工作裝置的優先順序設定為“高”
AT&T 閘道器:
- 登入192.168.1.254
- 防火牆 → 應用程式、針孔和 DMZ
- 對特定裝置使用應用程式優先順序
限制: 基本的裝置優先順序,而不是真正的佇列管理。有幫助,但不能消除緩衝區膨脹。
解決方案 4:帶有 OpenWrt 的 Flash 路由器(高階)
費用: 免費 難度: 高階 功效: 95%
如果您的路由器相容,請安裝內建了優秀SQM的OpenWrt韌體。
檢查相容性: https://openwrt.org/toh/start
不推薦,除非:
- 你技術上很舒服
- 路由器相容
- 你已經研究了你的模型的具體流程
風險: 做錯了會導致路由器變磚
解決方案 5:限制重度使用者的頻寬(臨時解決方法)
費用: 免費 功效: 50%
如果無法啟用 SQM,請手動限制重度使用者的頻寬:
Windows(頻寬限制器):
- 使用 NetLimiter 或 TMeter 軟體
- 將非優先裝置上的下載/上傳速度限制為 80%
遊戲機:
- 有些遊戲可以在設定中限制下載速度
- Steam:設定→下載→限制頻寬
基於路由器的頻寬限制:
- 大多數路由器可以限制每臺裝置的速度
- 設定非必需裝置的限制
限制: 手動,非自適應,不是真正的解決方案
正確設定 QoS/SQM 速度限制
常見錯誤: 設定限制太高
第 1 步:找到您的真實速度 在 https://www.waveform.com/tools/bufferbloat 執行速度測試(它顯示您的實際速度)
步驟2:計算90-95%
- 下載:300 Mbps → 將 SQM 設定為 270-285 Mbps
- 上傳:20 Mbps → 將 SQM 設定為 18-19 Mbps
第三步:測試和調整
- 再次執行緩衝區膨脹測試
- 如果仍獲得 C 或 D 等級,則將限制降低至 85-90%
- 如果獲得 A 但感覺速度很慢,則增加到 95-98%
對於非對稱連線(常見): 上傳緩衝區膨脹通常更糟。您可能需要:
- 下載95%
- 上傳85%
為什麼有些路由器不修復緩衝區膨脹
預算路由器(30-60 美元):
- CPU 太弱,無法高速執行 SQM
- 勉強有QoS,或者效果不好
- 即使在千兆位連線下,SQM 也可能會將速度降低至 100 Mbps
ISP 閘道器:
- CPU 經常較弱
- 僅基本 QoS
- 有時 QoS 會被破壞或禁用
較舊的路由器:
- 沒有fq_codel或蛋糕演算法
- 舊的 QoS 不適用於現代網際網路速度
這就是升級到支援 SQM 的路由器很重要的原因
修復後:會發生什麼
SQM 之前:
- 遊戲 ping:空閒 30 毫秒,負載下 400 毫秒
- 緩衝膨脹等級:D 或 F
SQM 後:
- 遊戲 ping:空閒 30 毫秒,負載下 35-45 毫秒
- 緩衝膨脹等級:A 或 B
Real improvement:
- 可以在其他人播放 4K 流時玩遊戲
- Zoom 在上傳過程中通話穩定
- 多人同時上網
- Ping 保持穩定
您仍然會看到負載下有所增加(可能 10-20 毫秒),但不會出現 200-500 毫秒峰值
緩衝膨脹與緩慢的網際網路(不同的問題)
緩衝膨脹症狀:
- 速度測試顯示速度良好
- 當只有一個人使用時網際網路工作正常
- 發生多個活動時會出現巨大的滯後峰值
- 負載下 Ping 跳至 200-500ms
網速慢症狀:
- 速度測試顯示速度緩慢
- 一切都很慢,即使只有一個使用者
- 即使空閒,Ping 也始終很高(80-150 毫秒)
- 需要升級上網套餐
修復:
- Bufferbloat:啟用 SQM
- 網速慢:升級套餐或致電ISP
常見的 SQM 設定錯誤
錯誤1:將限制設定為100%
錯誤: 您的速度是300/20,您將SQM設定為300/20 右: 設定為 270/18 (90%) 或 285/19 (95%)
為什麼: SQM 需要空間來管理佇列
錯誤2:使用“自動”速度檢測
錯誤: 路由器有“自動檢測頻寬” - 你使用它 右: 手動輸入速度測試中的速度
為什麼: 自動檢測經常出錯,尤其是上傳
錯誤三:只設定下載限制
錯誤: 設定下載限制,保留自動上傳 右: 將下載和上傳設定為 90-95%
為什麼: 上傳緩衝區膨脹通常比下載更糟糕
錯誤 4:使用基本 QoS 而不是 SQM
錯誤: 啟用具有裝置優先順序的“QoS” 右: 啟用“SQM”、“智慧佇列”或“fq_codel/cake”
為什麼: 舊的 QoS 不能防止緩衝區膨脹,SQM 可以
當 SQM 不夠時
您已啟用 SQM,但仍有問題:
檢查1:WiFi擁塞
- 問題可能是 WiFi 干擾,而不是緩衝區膨脹
- 嘗試有線連線測試
- 如果有線沒問題,WiFi就是問題
檢查2:ISP擁塞
- 高峰時段(晚上 7-10 點)每個人的網際網路速度都會變慢
- SQM 無法解決 ISP 網路擁塞問題
- 不同時間執行速度測試
檢查3:路由器CPU過載
- 路由器無法以您的速度處理 SQM
- 症狀:路由器崩潰,速度急劇下降
- 需要更強大的路由器
檢查4:限速錯誤
- 嘗試降低到85%甚至80%
- 某些連線需要更多淨空
📺 4 分鐘講解 — TechQuickie(Linus 技術提示)
底線
Bufferbloat 讓您的網際網路感覺很慢,即使它很快。這就是一個人的活動破壞了其他人的體驗的原因。
快速診斷:
- 在waveform.com/tools/bufferbloat 執行緩衝區膨脹測試
- 如果您獲得 C、D 或 F 等級,則您已獲得
快速修復:
- 在路由器上啟用 SQM/智慧佇列管理
- 將下載速度設定為實際速度的 95%
- 設定上傳速度為實際速度的 90-95%
- 重新測試
如果路由器沒有SQM: 購買具有適當 SQM 支援的路由器(100-200 美元)。這是家庭網路質量的最佳升級。
預期改善:
- 負載下 Ping 從 300-500ms 下降至 35-50ms
- 多人同時上網
- 遊戲在流媒體/下載過程中保持流暢
- 視訊通話在上傳過程中不會凍結
大多數人不知道緩衝區膨脹的存在。他們只是認為他們的網際網路“很奇怪”或者責怪他們的網際網路服務提供商。現在您知道真正的問題以及如何解決它。