【網絡實驗】10G網絡下的真實帶寬——CPU負載與網卡TSO、GSO

操作系統採用Ubuntu 14.04,CPU有4物理核8邏輯核。10G網卡爲Intel X520。

關掉主機網卡的TSO、GSO功能。

sudo ethtool –K p1p1 tso off
sudo ethtool –K p1p1 gso off

iperf服務器端使用10G網卡,執行

iperf -s -p 12003 -i1

客戶端多次執行如下命令,但每次啓動的進程數會變化:

iperf -c 192.168.9.4 -p 12003 -i1 -t 15 -P 1

注意到本次開啓了1個進程,服務器端顯示結果如下:


CPU由於負載接近100%,僅能達到2.87G帶寬。

客戶端開啓2個進程,

iperf -c 192.168.9.4 -p 12003 -i1 -t 15 -P 2
服務器端顯示結果如下:

如此類推,當客戶端開啓5個進程時,可以達到最高總帶寬。

iperf -c 192.168.9.4 -p 12003 -i1 -t 15 -P 5

服務器端顯示結果如下:



此後再增加進程數,總帶寬逐漸減小,例如

iperf -c 192.168.9.4 -p 12003 -i1 -t 15 –P 8

關於多進程帶寬反而小幅下降,這是一個有意思的現象。可以想到一些理由:競爭帶寬導致的鏈路擁塞、TCP擁塞算法退避,進程上下文切換的開銷等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章