數一數網路吞吐量

2021-08-17 08:07:04 字數 1573 閱讀 9427

假設有一台伺服器配了千兆網絡卡,獨佔千兆頻寬,乙個業務資料報大小1mb,通過tcp協議傳送,請問這台服務流量全部跑滿,最大的支援多少吞吐量。

大家可以先思考一下這個問題

解決這個問題,有必要先了解一下問題中的幾個概念。

千兆網絡卡

網絡卡我們都知道是一種提供計算機與傳輸介質的硬體介面。

千兆則是表示傳輸速率,一般傳輸速率是以bit/s為單位,表示每秒傳輸1bit的資料量。

所以千兆網絡卡就是每秒傳輸1000mb資料量的網絡卡,這裡的資料量都是單向,如果是雙向計算的就是2000mb/s。

注意這裡的單位都是小b(bit = 位),. 而大b表示位元組(byte) 換算公式1b = 8b頻寬

頻寬是指在規定時間內從一端流到另一端的資訊量,即資料傳輸率,是乙個通訊領域的乙個概念。所謂的千兆頻寬也就是每秒的傳輸速率是1000mb。

tcp協議

我們來簡單看乙個簡單協議分層

從圖中我們可以看到,應用層協議是最頂層協議,通過tcp協議打包,ip協議包,最後乙太網協議打包這樣生成乙個乙太網資料報通過傳輸介質傳輸出去。我們以http資料協議做為例子,看看整個傳輸流程。

所以乙個最終發出去的資料不僅只有業務資料報。裡面還有tcp協議,ip協議以及乙太網協議層層打包,如下圖

乙個乙太網資料報(packet)的大小是固定的,1522位元組。

乙太網資料報(1522byte) = 乙太網標頭(22b) + ip標頭(20b) + tcp標頭(20b) + 應用層資料報(1460)

這個演算法不包含ip標頭和tcp標頭里的而外資訊

通過以上的概念解釋相信大家已經能計算出來了,只是乙個數學問題。

由於業務資料報1mb = 1024 * 1024byte, 而我們知道乙太網資料報最大只支援1460b的資料,所以這裡需要分包,1024 * 1024 / 1460 約等於 718

由於網絡卡和頻寬都是千兆所以這裡傳輸速率就是1000mbps(實際速率以頻寬為準),每個乙太網資料報是1522b,1b = 8b,如果乙太網資料報被填滿,最多可以傳送:1000mb * 1024 * 1024 / (8 * 1522) = 86118

最終這個每秒吞吐量 86118 / 718 = 119

網路吞吐量

time limit 10 sec memory limit 512 mb 路由是指通過計算機網路把資訊從源位址傳輸到目的位址的活動,也是計算機網路設計中的重點和難點。網路中實現路由 的硬體裝置稱為路由器。為了使資料報最快的到達目的地,路由器需要選擇最優的路徑 資料報。例如在常用的路由演算法ospf...

網路吞吐量詳解

簡單的講,對於p2p系統而言,當主機a到主機b傳送乙個檔案,任何時間瞬間的瞬時吞吐量都是主機b接收到該檔案的速率 以bps計算 如果檔案由f位元組成,主機b接收到所有f位元用去t秒,則檔案傳送的平均吞吐量是f t bps.舉個例子伺服器通過路由器 給客戶端訊息 想象位元是流體,而鏈路是管道,那麼吞吐...

QPS TPS RT 併發數 吞吐量理解

在了解qps tps rt 併發數之前,首先我們應該明確乙個系統的吞吐量到底代表什麼含義,一般來說,系統吞吐量指的是系統的抗壓 負載能力,代表乙個系統每秒鐘能承受的最大使用者訪問量。乙個系統的吞吐量通常由qps tps 併發數來決定,每個系統對這兩個值都有乙個相對極限值,只要某一項達到最大值,系統的...