本篇測(cè)評(píng)由電子工程世界的優(yōu)秀測(cè)評(píng)者“HonestQiao ”提供。
此次的板卡測(cè)試,是米爾MYD-J1028X開(kāi)發(fā)板的高速網(wǎng)絡(luò)數(shù)據(jù)傳輸測(cè)試體驗(yàn)。
01
本次測(cè)試的主角
米爾MYD-J1028X開(kāi)發(fā)板提供了5個(gè)超級(jí)給力的最高支持千兆網(wǎng)絡(luò)接口,具體如下:
通過(guò)查看官方的手冊(cè),也可以詳細(xì)了解:
今天,我們就借助工具,對(duì)網(wǎng)絡(luò)進(jìn)行一些實(shí)際測(cè)試,看看實(shí)際效果到底如何。
02
測(cè)試前的準(zhǔn)備
首先,說(shuō)一下我這邊的測(cè)試環(huán)境:
1.米爾MYD-J1028X開(kāi)發(fā)板
2. MacBookPro筆記本:兩個(gè)UB3.0千兆有線網(wǎng)卡
3. ThinkPad筆記本:內(nèi)置Intel千兆網(wǎng)卡
規(guī)劃連線如下:
為了得到最理想的測(cè)試速度,筆記本和開(kāi)發(fā)板之間,直接連接,不經(jīng)過(guò)第三方。
測(cè)試的計(jì)劃內(nèi)容包括:
單網(wǎng)口,http下載速度測(cè)試
單網(wǎng)口,多進(jìn)程nc并發(fā)數(shù)據(jù)傳輸測(cè)試
多網(wǎng)口,多進(jìn)程nc并發(fā)輸出傳輸測(cè)試
多網(wǎng)口,多進(jìn)程http下載速度測(cè)試
多機(jī)多網(wǎng)口,http下載速度測(cè)試
03
測(cè)試前先來(lái)做“連連看”
實(shí)際連線如下:
具體的連線關(guān)系:
1連接到上級(jí)路由器
2留空
3連接到7,即MacBookPro的USB千兆網(wǎng)卡1
4連接到8,即ThinkPad的Intel千兆網(wǎng)卡
5連接到6,即MacBookPro的USB千兆網(wǎng)卡2
9為USB千兆網(wǎng)卡1的USB,連MacBookPro
10為USB千兆網(wǎng)卡2的USB,連MacBookPro
米爾MYD-J1028X開(kāi)發(fā)板系統(tǒng)的各網(wǎng)口地址對(duì)應(yīng)的設(shè)備和IP地址信息如下:
1-eno0:192.168.1.237,為上級(jí)路由器通過(guò)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
設(shè)置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
設(shè)置完成后,查看設(shè)置情況:
ifconfig | grep -E 'eth[1-4]' -A1
具體結(jié)果如下:
然后,在MacBook Pro上,設(shè)置2塊USB千兆網(wǎng)卡對(duì)應(yīng)的IP地址:
以及ThinkPad的Windows系統(tǒng)中Intel千兆網(wǎng)卡的IP地址:
然后,在開(kāi)發(fā)板上,檢測(cè)能否連通兩臺(tái)筆記本上的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上,也用命令檢查一下對(duì)應(yīng)開(kāi)發(fā)板連接網(wǎng)口的IP是否連通正常:
一切連通妥當(dāng),就可以開(kāi)始準(zhǔn)備測(cè)試了。
04
安裝調(diào)試好要用到的測(cè)試工具
首先,在開(kāi)發(fā)板上,安裝4款軟件:
sudo apt install nginx sudo apt install bmon sudo apt install axel sudo apt install pv
nginx用于提供web服務(wù)
bmon用于提供網(wǎng)絡(luò)情況監(jiān)測(cè)
axel用于多線程下載
pv實(shí)時(shí)監(jiān)控管道數(shù)據(jù)流量
為了達(dá)到最好的性能,我們需要修改一下nginx的配置,關(guān)閉日志,并使用/dev/shm內(nèi)存文件系統(tǒng)提供文件服務(wù)。修改nginx的主配置文件:/etc/nginx/nginx.conf,具體涉及到的設(shè)置項(xiàng)如下:
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默認(rèn)站點(diǎn)/etc/nginx/sites-enabled/default 配置:
#root /var/www/html; root /dev/shm;
修改完成后,就可以啟動(dòng)nginx了:
再寫(xiě)入基本測(cè)試內(nèi)容到/dev/shm/index.html:
echo hello > /dev/shm/index.html curl http://10.10.12.12/ # 應(yīng)返回 hello
05
單網(wǎng)口,http下載速度測(cè)試
現(xiàn)在,我們就可以做一個(gè)基本的文件下載測(cè)試了:
在macOS上,使用dd指令,生一個(gè)512M的數(shù)據(jù)文件test.dat,并使用php提供隨手web服務(wù)
在開(kāi)發(fā)板上,使用axel,下載macOS上面的數(shù)據(jù)文件,保存到/dev/shm內(nèi)存文件系統(tǒng)
在macOS上,使用axl下載開(kāi)發(fā)板上的test.dat文件
從上述結(jié)果可以看到,macOS上php提供的隨手web服務(wù),不支持多線程下載,但單線程下載速度,能達(dá)到89.1MB/s而在開(kāi)發(fā)板上,nginx提供的web服務(wù),支持多線程下載,3個(gè)線程,下載速度可以達(dá)到91.9MB/s下載都正常后,現(xiàn)在試用bmon指令,監(jiān)控實(shí)時(shí)網(wǎng)絡(luò)速度:
具體指令如下:
開(kāi)發(fā)板:bmon -bp eth2
macOS:axel -a -n 10 http://10.10.12.12/test.dat
經(jīng)過(guò)多次下載,最高帶寬可以達(dá)到975.65MBits/s,速度相當(dāng)可以。
06
單網(wǎng)口,多進(jìn)程nc并發(fā)數(shù)據(jù)傳輸測(cè)試
上面測(cè)試的相互下載的速度,下面再測(cè)試一下,通過(guò)nc命令,往開(kāi)發(fā)板上傳送數(shù)據(jù)的情況。
# macOS執(zhí)行:分別在三個(gè)窗口執(zhí)行 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 # 開(kāi)發(fā)板執(zhí)行:分別在三個(gè)終端執(zhí)行 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生成隨機(jī)數(shù)據(jù),然后使用nc,通過(guò)網(wǎng)絡(luò),發(fā)送到開(kāi)發(fā)板的/dev/null空設(shè)備中去。這樣做的好處是,不操作io設(shè)備,性能不受其他原因影響,而且數(shù)據(jù)隨機(jī),寫(xiě)入到/dev/null也永遠(yuǎn)寫(xiě)不滿,不占用實(shí)際磁盤(pán)空間。你甚至可以讓它自己跑三天三夜,看看網(wǎng)絡(luò)是否穩(wěn)定。下面是實(shí)際測(cè)試的結(jié)果:
我用了三個(gè)nc通道,并行進(jìn)行數(shù)據(jù)的傳輸。最高傳輸帶寬,可以達(dá)到940.62MBits/s,速度還是非常理想的。
07
多網(wǎng)口,多進(jìn)程nc并發(fā)輸出傳輸測(cè)試
之前測(cè)試的是針對(duì)一個(gè)網(wǎng)口的測(cè)試,現(xiàn)在測(cè)試同時(shí)對(duì)eth2、eth4進(jìn)行數(shù)據(jù)傳輸測(cè)試:
先啟動(dòng)四個(gè)nc數(shù)據(jù)傳輸進(jìn)程:
針對(duì)eth2、eth4的連接,各起兩個(gè),注意要確保對(duì)應(yīng)關(guān)系。然后,通過(guò)bmon查看當(dāng)前網(wǎng)絡(luò)帶寬情況:
合并起來(lái)的最高帶寬,為870MBits/s。
再看一下開(kāi)發(fā)板的負(fù)載情況和macOS的負(fù)載情況:
可以看到,開(kāi)發(fā)板上跑了4個(gè)接收進(jìn)程,CPU并未占滿。
而macOS上跑了4個(gè)發(fā)送進(jìn)程,結(jié)果把CPU都拉得滿滿的。
08
多網(wǎng)口,多進(jìn)程http下載速度測(cè)試
上面是使用nc進(jìn)行數(shù)據(jù)傳輸,下面我們?cè)偈褂胊xel通過(guò)nginx下載數(shù)據(jù),看看帶寬使用情況如何。
上面的過(guò)程,是現(xiàn)在開(kāi)發(fā)板上,使用dd生成一個(gè)728M大小的測(cè)試文件。
然后在macOS上面,針對(duì)不同網(wǎng)口的ip,進(jìn)行http下載測(cè)試。測(cè)試過(guò)程中,再次通過(guò)bmon查看當(dāng)前網(wǎng)絡(luò)帶寬情況:
這次的網(wǎng)絡(luò)帶寬使用更加充分,合并計(jì)算,可以達(dá)到1000MBits/s了。
在測(cè)試過(guò)程中,我們也在看一下系統(tǒng)負(fù)載情況:
開(kāi)發(fā)板上的nginx跑滿了一個(gè)cpu,而macOS上的cpu則都跑滿了。
09
多機(jī)多網(wǎng)口,http下載速度測(cè)試
現(xiàn)在要試一下,同時(shí)在macOS和Windows下載情況如何。先到ThinkPad的windows系統(tǒng),使用curl命令,開(kāi)兩個(gè)進(jìn)程下載測(cè)試,結(jié)果如下:
合并的結(jié)果,能達(dá)到90MB/s。
然后,在macOS上面,分別使用cur從連接的兩個(gè)網(wǎng)卡的ip下載數(shù)據(jù),在windows上面,同樣開(kāi)兩個(gè)curl進(jìn)程下載:
# macOS執(zhí)行:開(kāi)兩個(gè)命令行執(zhí)行 curl -o test1.dat http://10.10.12.12/test.dat curl -o test2.dat http://10.10.14.14/test.dat # windows執(zhí)行:開(kāi)兩個(gè)命令行執(zhí)行 curl -o test3.dat http://10.10.13.13/test.dat curl -o test4.dat http://10.10.13.13/test.dat
測(cè)試過(guò)程中,可以看到,多個(gè)網(wǎng)口同時(shí)使用,帶寬的使用,將更加的充分。
總的來(lái)說(shuō),米爾MYD-J1028X開(kāi)發(fā)板的千兆網(wǎng)絡(luò)接口,非常的給力,在高速網(wǎng)絡(luò)通信中,是強(qiáng)有力的保證。
-
NXP
+關(guān)注
關(guān)注
61文章
1369瀏覽量
191953 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3623瀏覽量
92653 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
6001瀏覽量
110070 -
網(wǎng)口
+關(guān)注
關(guān)注
0文章
126瀏覽量
7867 -
米爾電子
+關(guān)注
關(guān)注
1文章
167瀏覽量
941
發(fā)布評(píng)論請(qǐng)先 登錄
如何移植EtherCAT Igh--基于米爾RK3576開(kāi)發(fā)板

米爾基于RK3562與RK3506開(kāi)發(fā)板有什么區(qū)別?
如何部署流媒體服務(wù)實(shí)現(xiàn)監(jiān)控功能--基于米爾TI AM62x開(kāi)發(fā)板

有獎(jiǎng)丨米爾 NXP i.MX91開(kāi)發(fā)板免費(fèi)試用來(lái)啦

米爾NXP i.MX 91核心板發(fā)布,助力新一代入門級(jí)Linux應(yīng)用開(kāi)發(fā)
【米爾-STM32MP257開(kāi)發(fā)板試用體驗(yàn)】初次體驗(yàn)米爾-STM32MP257開(kāi)發(fā)板
如何在米爾-STM32MP257開(kāi)發(fā)板上實(shí)現(xiàn)環(huán)境監(jiān)測(cè)系統(tǒng)

免費(fèi)丨米爾 STM32MP257開(kāi)發(fā)板有獎(jiǎng)試用

有獎(jiǎng)丨米爾 瑞芯微YR3562開(kāi)發(fā)板免費(fèi)試用

【米爾RK3576開(kāi)發(fā)板評(píng)測(cè)】+項(xiàng)目名稱值得購(gòu)買的米爾RK3576開(kāi)發(fā)板
如何用OpenCV進(jìn)行手勢(shì)識(shí)別--基于米爾全志T527開(kāi)發(fā)板

【米爾-Xilinx XC7A100T FPGA開(kāi)發(fā)板試用】測(cè)試一
ST×米爾STM32MP25x線下培訓(xùn)會(huì)

FacenetPytorch人臉識(shí)別方案--基于米爾全志T527開(kāi)發(fā)板

追加名額丨米爾瑞芯微RK3576開(kāi)發(fā)板有獎(jiǎng)試用

評(píng)論