網站與速度
Bufferbloat:網路忙碌時通話延遲
Bufferbloat(緩衝區膨脹)是網路裝置在緩衝區中暫存過多資料而增加的延遲。網路忙碌時,通話和遊戲就會延遲。
症狀
- 備份或上傳進行時,通話凍結或聲音斷斷續續。
- 其他裝置下載時,遊戲延遲。
- 大量傳輸時網頁載入很慢,但速度測試結果很快。
可能原因
- 路由器或數據機的緩衝區太大。連結滿載時,封包會在很長的佇列中等待,每次等待都會增加延遲。
- 上傳占滿連結。上傳頻寬通常比下載小很多,所以上傳很快就會占滿。
- 路由器沒有佇列管理。智慧佇列管理可以讓佇列保持很短。不是每台路由器都有這個功能,或者它是關閉的。
如何檢查
在沒有其他裝置使用網路時執行
networkQuality,記下回應能力數值。networkQuality在另一台裝置上開始大量上傳或下載,再執行一次測試。
networkQuality比較兩次結果。如果負載下的回應能力大幅下降,就表示有 Bufferbloat。
簡單的測試方法:在上傳進行時 ping 一台伺服器,觀察時間上升。
ping 1.1.1.1按 Control-C 停止
ping。
如何修正
打開路由器的設定,尋找 SQM、智慧佇列管理或類似的 QoS 設定。
如果路由器有這個功能,就把它開啟。速度數值請依照路由器製造商的說明設定。
如果路由器沒有這個功能,就把大量上傳和備份安排在不打電話的時段。
重要通話期間暫停雲端同步。
詢問你的網路業者,數據機或路由器是否支援佇列管理。
使用 Kilobat
Kilobat 的速度測試會回報負載下的延遲,並將 Bufferbloat 評為「低」、「中等」、「高」或「無法判定」。
kilobat speedtest --json輸出
addedLatencyMs和bufferbloat,並附上對通話和串流的評估。增加的延遲低於 15 ms 為「低」,低於 60 ms 為「中等」,60 ms 以上為「高」。
若要找出正在上傳的 App,請依上傳量排序即時流量。
kilobat status --watch使用 Pro 和網路過濾器,可以在通話期間阻擋某個 App。請參閱測試通話卡頓。
常見問題
Bufferbloat 是我的 Mac 的問題嗎?
通常不是。過大的緩衝區位於路由器、數據機或網路業者的網路中,Mac 只是呈現出結果。
升級更快的方案能解決 Bufferbloat 嗎?
不一定。更大的頻寬可能有幫助,但傳輸占滿整條連結時,佇列仍然會塞滿。
資料來源
- Bufferbloat.net:簡介
- Apple 支援:使用 Apple 網路回應能力測試 Wi-Fi 網路
- networkQuality(8),macOS 27.2 內建的 man 頁面
- ping(8),macOS 27.2 內建的 man 頁面
資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。