0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

5个千兆网口,将有什么样高速网络传输体验?——米尔MYD-J1028X开发板实测分享

米尔电子 2022-11-23 09:25 次阅读

本篇测评由电子工程世界的优秀测评者“HonestQiao ”提供。

此次的板卡测试,是米尔MYD-J1028X开发板的高速网络数据传输测试体验。

01

本次测试的主角

米尔MYD-J1028X开发板提供了5个超级给力的最高支持千兆网络接口,具体如下:

627b5bb2-67a9-11ed-b116-dac502259ad0.jpg

通过查看官方的手册,也可以详细了解:

628aa5a4-67a9-11ed-b116-dac502259ad0.png


今天,我们就借助工具,对网络进行一些实际测试,看看实际效果到底如何。


02

测试前的准备

首先,说一下我这边的测试环境:

1.米尔MYD-J1028X开发板

2. MacBookPro笔记本:两个UB3.0千兆有线网卡

3. ThinkPad笔记本:内置Intel千兆网卡

规划连线如下:

62ca5866-67a9-11ed-b116-dac502259ad0.png

为了得到最理想的测试速度,笔记本和开发板之间,直接连接,不经过第三方。

测试的计划内容包括:

单网口,http下载速度测试

单网口,多进程nc并发数据传输测试

多网口,多进程nc并发输出传输测试

多网口,多进程http下载速度测试

多机多网口,http下载速度测试

03

测试前先来做“连连看”

实际连线如下:

62ebc12c-67a9-11ed-b116-dac502259ad0.png

具体的连线关系:

  • 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

具体结果如下:

632784b4-67a9-11ed-b116-dac502259ad0.png

然后,在MacBook Pro上,设置2块USB千兆网卡对应的IP地址:
6345a5ac-67a9-11ed-b116-dac502259ad0.png


以及ThinkPad的Windows系统中Intel千兆网卡的IP地址:

635b731e-67a9-11ed-b116-dac502259ad0.png

然后,在开发板上,检测能否连通两台笔记本上的IP:

ping 10.10.12.102 -c 1

ping 10.10.13.103 -c 1

ping 10.10.14.104 -c 1

显示如下表示全部连通:

636bc50c-67a9-11ed-b116-dac502259ad0.png

在MacBook Pro和ThinkPad上,也用命令检查一下对应开发板连接网口的IP是否连通正常:

63f0d3be-67a9-11ed-b116-dac502259ad0.png64060bb2-67a9-11ed-b116-dac502259ad0.png

一切连通妥当,就可以开始准备测试了。

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了:

6418c48c-67a9-11ed-b116-dac502259ad0.png

再写入基本测试内容到/dev/shm/index.html:

echo hello > /dev/shm/index.html

curl http://10.10.12.12/

# 应返回 hello

05

单网口,http下载速度测试

现在,我们就可以做一个基本的文件下载测试了:

64259fb8-67a9-11ed-b116-dac502259ad0.png

  1. 在macOS上,使用dd指令,生一个512M的数据文件test.dat,并使用php提供随手web服务
  2. 在开发板上,使用axel,下载macOS上面的数据文件,保存到/dev/shm内存文件系统
  3. 在macOS上,使用axl下载开发板上的test.dat文件

从上述结果可以看到,macOS上php提供的随手web服务,不支持多线程下载,但单线程下载速度,能达到89.1MB/s而在开发板上,nginx提供的web服务,支持多线程下载,3个线程,下载速度可以达到91.9MB/s 下载都正常后,现在试用bmon指令,监控实时网络速度:

6449670e-67a9-11ed-b116-dac502259ad0.png

具体指令如下:

  1. 开发板:bmon -bp eth2
  2. 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也永远写不满,不占用实际磁盘空间。你甚至可以让它自己跑三天三夜,看看网络是否稳定。 下面是实际测试的结果:

645cd726-67a9-11ed-b116-dac502259ad0.png

我用了三个nc通道,并行进行数据的传输。最高传输带宽,可以达到940.62MBits/s,速度还是非常理想的。

07

多网口,多进程nc并发输出传输测试

之前测试的是针对一个网口的测试,现在测试同时对eth2、eth4进行数据传输测试:
先启动四个nc数据传输进程:

646efdf2-67a9-11ed-b116-dac502259ad0.png

针对eth2、eth4的连接,各起两个,注意要确保对应关系。然后,通过bmon查看当前网络带宽情况:

6481db2a-67a9-11ed-b116-dac502259ad0.png

合并起来的最高带宽,为870MBits/s。

再看一下开发板的负载情况和macOS的负载情况:

6498f0c6-67a9-11ed-b116-dac502259ad0.png

可以看到,开发板上跑了4个接收进程,CPU并未占满。

而macOS上跑了4个发送进程,结果把CPU都拉得满满的。

08

多网口,多进程http下载速度测试

上面是使用nc进行数据传输,下面我们再使用axel通过nginx下载数据,看看带宽使用情况如何。

64c230b2-67a9-11ed-b116-dac502259ad0.png

上面的过程,是现在开发板上,使用dd生成一个728M大小的测试文件。

然后在macOS上面,针对不同网口的ip,进行http下载测试。测试过程中,再次通过bmon查看当前网络带宽情况:

64c8e222-67a9-11ed-b116-dac502259ad0.png

这次的网络带宽使用更加充分,合并计算,可以达到1000MBits/s了。

在测试过程中,我们也在看一下系统负载情况:

64cef284-67a9-11ed-b116-dac502259ad0.png

开发板上的nginx跑满了一个cpu,而macOS上的cpu则都跑满了。

09

多机多网口,http下载速度测试

现在要试一下,同时在macOS和Windows下载情况如何。先到ThinkPad的windows系统,使用curl命令,开两个进程下载测试,结果如下:

64e341da-67a9-11ed-b116-dac502259ad0.png


合并的结果,能达到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

测试过程中,可以看到,多个网口同时使用,带宽的使用,将更加的充分。

64f68268-67a9-11ed-b116-dac502259ad0.png

总的来说,米尔MYD-J1028X开发板的千兆网络接口,非常的给力,在高速网络通信中,是强有力的保证。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5082

    浏览量

    97723
收藏 人收藏

    评论

    相关推荐

    米尔RK3576开发板评测】+项目名称值得购买的米尔RK3576开发板

    更多可玩性。 米尔RK3576的扩展板也非常不错。尺寸120x90mm,高度17.8mm 带有3.5mm音频接口,MiniDP,HDMI显示输出接口,两USB3.0接口,两
    发表于 01-08 22:59

    如何用OpenCV进行手势识别--基于米尔全志T527开发板

    本文将介绍基于米尔电子MYD-LT527开发板米尔基于全志T527开发板)的OpenCV手势识别方案测试。摘自优秀创作者-小火苗
    的头像 发表于 12-13 08:04 765次阅读
    如何用OpenCV进行手势识别--基于<b class='flag-5'>米尔</b>全志T527<b class='flag-5'>开发板</b>

    米尔-Xilinx XC7A100T FPGA开发板试用】测试一

    感谢米尔电子和电子发烧友提供的米尔-Xilinx XC7A100T FPGA开发板MYD-J7A100T用的 FPGA 为 XILINX 公司 ARTIX-7 系列的 XC 7A1
    发表于 12-08 08:48

    ST×米尔STM32MP25x线下培训会

    STM32MP257D是ST推出的搭载了双核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微处理器。米尔电子基于STM32MP257D推出了MYD-LD25X开发板
    的头像 发表于 12-06 01:00 277次阅读
    ST×<b class='flag-5'>米尔</b>STM32MP25<b class='flag-5'>x</b>线下培训会

    FacenetPytorch人脸识别方案--基于米尔全志T527开发板

    本篇测评由电子工程世界的优秀测评者“小火苗”提供。本文将介绍基于米尔电子MYD-LT527开发板米尔基于全志T527开发板)的Facene
    的头像 发表于 11-28 15:12 353次阅读
    FacenetPytorch人脸识别方案--基于<b class='flag-5'>米尔</b>全志T527<b class='flag-5'>开发板</b>

    追加名额丨米尔瑞芯微RK3576开发板有奖试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动加码啦~~米尔追加了2块价值849元的MYD
    的头像 发表于 11-22 01:00 216次阅读
    追加名额丨<b class='flag-5'>米尔</b>瑞芯微RK3576<b class='flag-5'>开发板</b>有奖试用

    米尔-Xilinx XC7A100T FPGA开发板试用】+01.开箱(zmj)

    米尔-Xilinx XC7A100T FPGA开发板试用】+01.开箱(zmj) 1.感谢 感谢米尔电子和电子发烧友提供的此次试用机会,可以体验米尔-Xilinx XC7A100T
    发表于 11-12 15:45

    实测952Mbps!四路千兆PCIe拓展方案,国产工业级!

    /4路千兆模块方案:无锡沐创N500L-AM2C-DD、N500L-AM4C-QD测试工具:iperf3创龙科技已基于瑞芯微RK3588J、RK3568
    发表于 07-25 14:57

    米尔T527系列加推工控板和工控机,更多工业场景DEMO

    MYD-LT527-GK-B微型工控机。MYD-LT527-GK工控板由工业开发板和扩展底板组成,方便客户使用米尔工业开发板搭建自己的工控
    发表于 06-21 17:54

    点击参与米尔NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9
    的头像 发表于 06-13 08:02 570次阅读
    点击参与<b class='flag-5'>米尔</b>NXP i.MX 93<b class='flag-5'>开发板</b>有奖试用

    米尔NXP i.MX 93开发板的Qt开发指南

    1.概述Qt是一跨平台的图形应用开发框架,被应用在不同尺寸设备和平台上,同时提供不同版权版本供用户选择。米尔NXPi.MX93开发板MYD-LM
    的头像 发表于 06-07 08:01 1779次阅读
    <b class='flag-5'>米尔</b>NXP i.MX 93<b class='flag-5'>开发板</b>的Qt<b class='flag-5'>开发</b>指南

    国产FPGA核心板!米尔紫光同创Logos-2和Xilinx Artix-7核心板

    /MYD-J7A100T开发板MYD-J2L100H开发板,采用12V/2A直流供电,搭载了2路千兆以太
    发表于 05-31 17:40

    STM32H743ZIT6想要实现千兆,需要外挂什么样的PHY芯片?

    各位大佬,我想咨询一问题,关于STM32H743ZIT6想要实现千兆,需要外挂什么样的PHY芯片,谢谢
    发表于 05-31 07:59

    米尔-全志T113-i开发板与modbus设备的连接和操作

    本文主要介绍通过米尔-全志T113-i开发板实现与modbus设备的连接和操作。
    的头像 发表于 03-21 19:42 973次阅读
    <b class='flag-5'>米尔</b>-全志T113-i<b class='flag-5'>开发板</b>与modbus设备的连接和操作

    ROS系统的智能车开发-基于米尔芯驰MYD-JD9X开发板

    本篇测评由电子工程世界的优秀测评者“mameng”提供。本文将介绍基于米尔电子MYD-JD9X开发板的ROS系统智能车开发。目前实现ROS的方式主要有两种:Ubuntu系统+ROS;U
    的头像 发表于 01-26 08:01 955次阅读
    ROS系统的智能车<b class='flag-5'>开发</b>-基于<b class='flag-5'>米尔</b>芯驰<b class='flag-5'>MYD-JD9X</b><b class='flag-5'>开发板</b>