基礎:網路是什麼
吞吐量(throughput)
如果頻寬是水管多寬,吞吐量就是你實際從另一端每秒接到多少水。它是有用資料從發送端成功送達接收端的真實、實測速率——是你下載檔案時所體驗到的,而不只是連結的標稱值。吞吐量永遠至多等於頻寬,而且通常更少。
為何更少?因為一條路徑的速度只能和它最窄的那一點一樣快。若你的資料跨越速率為 R1、R2、R3 的數條連結,端到端吞吐量受瓶頸所限——也就是最慢的連結,min(R1, R2, R3)。它也會因為共用爭用(你的封包排在別人後面)、封包遺失與重送、協定開銷(每個封包都帶著標頭位元組)、以及 TCP 壅塞控制的逐步爬升而下降。所以一條 1 Gbps 的家用連結,對一台遙遠又繁忙的伺服器,實際吞吐量也許只交付 300 Mbps。
吞吐量通常是你在實務上真正在意的數字(「我的檔案實際傳得多快?」),它有別於頻寬(上限)與延遲(延遲時間)。一個有用的相關詞是良率傳輸量(goodput):只計入應用真正酬載的吞吐量,排除重送與標頭開銷。長距離傳輸也可能受延遲透過頻寬延遲乘積(bandwidth-delay product)所節流——在高延遲路徑上,單一 TCP 連線除非視窗夠大,否則無法灌滿一條粗管。
若你筆電的連結是 1 Gbps,但伺服器的上行只有 50 Mbps,你的下載吞吐量會被壓在約 50 Mbps——瓶頸勝出,無論你最後一哩多快。
你實際得到的——由瓶頸連結決定,min(R1, R2, ...)。
吞吐量不是頻寬。頻寬是連結的標稱上限;吞吐量是你實際達到的速率,瓶頸、爭用、遺失與開銷會把它壓到那個上限之下。
又稱
另見