1. 安裝netperf
略
2. 開啟服務點進程
-sh-4.1# ./netserver
Starting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC
3. 開啟單個客戶端進程,測試下每個TCP連接的最大吞吐量
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 3642.99
從測試結果可以看出,單連接的TCP吞吐量為3.6Gbps左右,這個值與系統的配置有關。
對於萬兆網卡大概需要開啟4個客戶端進程。
4. 四個客戶端進程測試
第一個測試結果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 2520.14
第二個測試結果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 2779.29
第三個測試結果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 1421.87
第四個測試結果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 2766.95
將其進行相加可得到網卡帶寬:
2520.14 + 2779.29 + 1421.87 + 2766.95 = 9488.25
可知達到物理帶寬的95%。
另外可以通過shell腳本在萬兆網卡上捕捉數據。
得到的網卡帶寬數據為9878.4Mbps,達到物理帶寬的98%。
造成的原因是netperf得到的吞吐量為這段60s的平均值,而shell腳本捕捉的是1s的平均值。