2013-11-29 75 views
0

我們正在對1G DDR3規格的Macnica Helio主板進行吞吐量測試。我們現在實現了60%(巨型幀)吞吐量,但我們預計在我們的應用中吞吐量會更高。計算提高巨型幀的以太網吞吐量

方法如下: -

(100M/time taken * 8-bit /1Gbps)*100% 

我們做了什麼: - 轉移100MB使用服務器和客戶端代碼

服務器(旋風V) - 更改爲eth0 MTU 7500(只有當實現我們使用ethtool「ethtool -K eth0 tx off」關閉tx校驗和,否則我們只能將MTU更改爲3500),然後執行服務器代碼

客戶端(筆記本電腦運行UBUNTU) -change eth0的MTU爲9000,然後執行客戶端代碼和使用Wireshark的

測試吞吐量性能我們嘗試使用下面的命令來更改IPv4的設置,但吞吐量結果還是一樣

-sysctl -w net.core.rmem_max=18388608 
    -sysctl -w net.core.wmem_max=18388608 
    -sysctl -w net.core.rmem_default=1065536 
    -sysctl -w net.core.wmem_default=1065536 
    -sysctl -w net.ipv4.tcp_rmem=4096 87380 18388608 
    -sysctl -w net.ipv4.tcp_wmem=4096 87380 18388608 
    -sysctl -w net.ipv4.tcp_mem=18388608 18388608 18388608 
    -sysctl -w net.ipv4.route.flush=1 
    -sysctl -w net.ipv4.tcp_mtu_probing=1 

問題

是否有任何方法或解決方案來實現更高的吞吐量?

如果我們關閉tx校驗和,會有什麼影響嗎?

tcp_congestion_control在立方和bic之間有什麼不同,它會影響吞吐量性能嗎?

回答

0

使用ntop.org的PF_RING套接字代替PF_INET套接字。使用英特爾(e1000)網卡的GigE Vision協議(UDP)無需使用特定於網卡的PF_RING驅動程序,我們的吞吐量就可以達到75%。

AFAIK 只會在TCP會話開始時爲您提供幫助,並且在會話建立後無效。

+0

對不起。有沒有安裝指南?看完後,好像我需要編譯它並以insmod作爲內核模塊 – WWJ

+0

@WWJ:PF_RING軟件包有很好的安裝說明和示例,但它需要兩到三天才能完成所有示例程序,並瞭解它是如何工作的工作,你需要善於編譯內核和模塊。要在用戶空間中使用它,你需要一些編程技巧來將它集成到你的應用程序中。這不是你可以在系統管理員級別上做的事情。 –