本篇測評由電子工程世界的優秀測評者“HonestQiao ”提供。
此次的板卡測試,是米爾MYD-J1028X開發板的高速網絡數據傳輸測試體驗。
01
本次測試的主角
米爾MYD-J1028X開發板提供了5個超級給力的最高支持千兆網絡接口,具體如下:
通過查看官方的手冊,也可以詳細了解:
今天,我們就借助工具,對網絡進行一些實際測試,看看實際效果到底如何。
02
測試前的準備
首先,說一下我這邊的測試環境:
1.米爾MYD-J1028X開發板
2. MacBookPro筆記本:兩個UB3.0千兆有線網卡
3. ThinkPad筆記本:內置Intel千兆網卡
規劃連線如下:
為了得到最理想的測試速度,筆記本和開發板之間,直接連接,不經過第三方。
測試的計劃內容包括:
單網口,http下載速度測試
單網口,多進程nc并發數據傳輸測試
多網口,多進程nc并發輸出傳輸測試
多網口,多進程http下載速度測試
多機多網口,http下載速度測試
03
測試前先來做“連連看”
實際連線如下:
具體的連線關系:
1連接到上級路由器
2留空
3連接到7,即MacBookPro的USB千兆網卡1
4連接到8,即ThinkPad的Intel千兆網卡
5連接到6,即MacBookPro的USB千兆網卡2
9為USB千兆網卡1的USB,連MacBookPro
10為USB千兆網卡2的USB,連MacBookPro
米爾MYD-J1028X開發板系統的各網口地址對應的設備和IP地址信息如下:
1-eno0:192.168.1.237,為上級路由器通過DHCP分配的地址
2-eth1:10.10.11.11
3-eth2:10.10.12.12
4-eth3:10.10.13.13
5-eth4:10.10.14.14
設置eth1~4的地址使用如下的命令:
sudo ifconfig eth1 10.10.11.11 netmask 255.255.255.0 sudo ifconfig eth2 10.10.12.12 netmask 255.255.255.0 sudo ifconfig eth3 10.10.13.13 netmask 255.255.255.0 sudo ifconfig eth4 10.10.14.14 netmask 255.255.255.0
設置完成后,查看設置情況:
ifconfig | grep -E 'eth[1-4]' -A1
具體結果如下:
然后,在MacBook Pro上,設置2塊USB千兆網卡對應的IP地址:
以及ThinkPad的Windows系統中Intel千兆網卡的IP地址:
然后,在開發板上,檢測能否連通兩臺筆記本上的IP:
ping 10.10.12.102 -c 1 ping 10.10.13.103 -c 1 ping 10.10.14.104 -c 1
顯示如下表示全部連通:
在MacBook Pro和ThinkPad上,也用命令檢查一下對應開發板連接網口的IP是否連通正常:
一切連通妥當,就可以開始準備測試了。
04
安裝調試好要用到的測試工具
首先,在開發板上,安裝4款軟件:
sudo apt install nginx sudo apt install bmon sudo apt install axel sudo apt install pv
nginx用于提供web服務
bmon用于提供網絡情況監測
axel用于多線程下載
pv實時監控管道數據流量
為了達到最好的性能,我們需要修改一下nginx的配置,關閉日志,并使用/dev/shm內存文件系統提供文件服務。修改nginx的主配置文件:/etc/nginx/nginx.conf,具體涉及到的設置項如下:
user www-data; worker_processes auto; worker_cpu_affinity auto 11; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 1024; # multi_accept on; } http { #... keepalive_requests 100000; #... access_log off; #access_log /var/log/nginx/access.log; #error_log /var/log/nginx/error.log; error_log /dev/null; #... }
修改nginx默認站點/etc/nginx/sites-enabled/default 配置:
#root /var/www/html; root /dev/shm;
修改完成后,就可以啟動nginx了:
再寫入基本測試內容到/dev/shm/index.html:
echo hello > /dev/shm/index.html curl http://10.10.12.12/ # 應返回 hello
05
單網口,http下載速度測試
現在,我們就可以做一個基本的文件下載測試了:
在macOS上,使用dd指令,生一個512M的數據文件test.dat,并使用php提供隨手web服務
在開發板上,使用axel,下載macOS上面的數據文件,保存到/dev/shm內存文件系統
在macOS上,使用axl下載開發板上的test.dat文件
從上述結果可以看到,macOS上php提供的隨手web服務,不支持多線程下載,但單線程下載速度,能達到89.1MB/s而在開發板上,nginx提供的web服務,支持多線程下載,3個線程,下載速度可以達到91.9MB/s下載都正常后,現在試用bmon指令,監控實時網絡速度:
具體指令如下:
開發板:bmon -bp eth2
macOS:axel -a -n 10 http://10.10.12.12/test.dat
經過多次下載,最高帶寬可以達到975.65MBits/s,速度相當可以。
06
單網口,多進程nc并發數據傳輸測試
上面測試的相互下載的速度,下面再測試一下,通過nc命令,往開發板上傳送數據的情況。
# macOS執行:分別在三個窗口執行 pv /dev/random | nc -l 10.10.12.102 2345 pv /dev/random | nc -l 10.10.12.102 2346 pv /dev/random | nc -l 10.10.12.102 2347 # 開發板執行:分別在三個終端執行 sudo nc 10.10.12.102 2345 > /dev/null sudo nc 10.10.12.102 2346 > /dev/null sudo nc 10.10.12.102 2347 > /dev/null
上述命令,表示從macOS上的/dev/random生成隨機數據,然后使用nc,通過網絡,發送到開發板的/dev/null空設備中去。這樣做的好處是,不操作io設備,性能不受其他原因影響,而且數據隨機,寫入到/dev/null也永遠寫不滿,不占用實際磁盤空間。你甚至可以讓它自己跑三天三夜,看看網絡是否穩定。下面是實際測試的結果:
我用了三個nc通道,并行進行數據的傳輸。最高傳輸帶寬,可以達到940.62MBits/s,速度還是非常理想的。
07
多網口,多進程nc并發輸出傳輸測試
之前測試的是針對一個網口的測試,現在測試同時對eth2、eth4進行數據傳輸測試:
先啟動四個nc數據傳輸進程:
針對eth2、eth4的連接,各起兩個,注意要確保對應關系。然后,通過bmon查看當前網絡帶寬情況:
合并起來的最高帶寬,為870MBits/s。
再看一下開發板的負載情況和macOS的負載情況:
可以看到,開發板上跑了4個接收進程,CPU并未占滿。
而macOS上跑了4個發送進程,結果把CPU都拉得滿滿的。
08
多網口,多進程http下載速度測試
上面是使用nc進行數據傳輸,下面我們再使用axel通過nginx下載數據,看看帶寬使用情況如何。
上面的過程,是現在開發板上,使用dd生成一個728M大小的測試文件。
然后在macOS上面,針對不同網口的ip,進行http下載測試。測試過程中,再次通過bmon查看當前網絡帶寬情況:
這次的網絡帶寬使用更加充分,合并計算,可以達到1000MBits/s了。
在測試過程中,我們也在看一下系統負載情況:
開發板上的nginx跑滿了一個cpu,而macOS上的cpu則都跑滿了。
09
多機多網口,http下載速度測試
現在要試一下,同時在macOS和Windows下載情況如何。先到ThinkPad的windows系統,使用curl命令,開兩個進程下載測試,結果如下:
合并的結果,能達到90MB/s。
然后,在macOS上面,分別使用cur從連接的兩個網卡的ip下載數據,在windows上面,同樣開兩個curl進程下載:
# macOS執行:開兩個命令行執行 curl -o test1.dat http://10.10.12.12/test.dat curl -o test2.dat http://10.10.14.14/test.dat # windows執行:開兩個命令行執行 curl -o test3.dat http://10.10.13.13/test.dat curl -o test4.dat http://10.10.13.13/test.dat
測試過程中,可以看到,多個網口同時使用,帶寬的使用,將更加的充分。
總的來說,米爾MYD-J1028X開發板的千兆網絡接口,非常的給力,在高速網絡通信中,是強有力的保證。
-
NXP
+關注
關注
60文章
1287瀏覽量
184855 -
WINDOWS
+關注
關注
4文章
3554瀏覽量
89011 -
開發板
+關注
關注
25文章
5096瀏覽量
97830 -
網口
+關注
關注
0文章
104瀏覽量
7299 -
米爾電子
+關注
關注
0文章
113瀏覽量
474
發布評論請先 登錄
相關推薦
評論