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

news2024/9/25 19:25:46

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

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

01

本次测试的主角

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

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

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

02

测试前的准备

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

1. 米尔MYD-J1028X开发板

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

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

规划连线如下:

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

测试的计划内容包括:

  1. 单网口,http下载速度测试

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

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

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

  5. 多机多网口,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下载速度测试

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

  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指令,监控实时网络速度:

具体指令如下:

  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也永远写不满,不占用实际磁盘空间。

你甚至可以让它自己跑三天三夜,看看网络是否稳定。

下面是实际测试的结果:

我用了三个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开发板的千兆网络接口,非常的给力,在高速网络通信中,是强有力的保证。

想要了解优秀测评者“HonestQiao”关于MYD-J1028X开发板测评原文的可以点击文末“查看原文”或复制下方链接查看:

【米尔MYC-J1028X开发板试用】高速网络数据传输测试 - NXP MCU - 电子工程世界-论坛

想要了解米尔LS1028A处理器开发板可以去米尔官网查看具体的产品介绍:

MYC-J1028X核心板 - LS1028A|NXP LS1028A|LS1028A核心板|MYC-J1028X核心板 - 米尔科技

需要购买米尔MYD-J1028X开发板可以扫码查看:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于AD936X+Intel FPGA的射频方案

基于ADI AD936X和Intel Cyclone V FPGA的射频方案,适合于无线通信基础设施、防务电子系统、RF测试设备和仪器以及通用软件定义无线电平台等应用。 关于ADI AD936X系列射频收发器 AD936X系列的工作频率范围覆盖从70 MHz到6 GHz。它是一系列完整的无线电设计&#x…

底层网络知识详解:最重要的传输层-第11讲-TCP协议(上):因性恶而复杂,先恶后善反轻松

上一节,我们讲的UDP,基本上包括了传输层所必须的端口字段。它就像我们小时候一样简单,相信“网之初,性本善,不丢包,不乱序”。 后来呢,我们都慢慢长大,了解了社会的残酷,变得复杂而成熟,就像TCP协议一样。它之所以这么复杂,那是因为它秉承的是“性恶论”。它天然认…

Dubbo 4 Dubbo 高级特性 4.2 Dubbo 常用高级配置 4.2.7 集群容错 4.2.8 服务降级

Dubbo 【黑马程序员Dubbo快速入门,Java分布式框架dubbo教程】 4 Dubbo 高级特性 文章目录Dubbo4 Dubbo 高级特性4.2 Dubbo 常用高级配置4.2.7 集群容错4.2.8 服务降级4.2 Dubbo 常用高级配置 4.2.7 集群容错 【一个场景】 现在 服务 提供者 部署成 了一个集群&a…

痞子衡嵌入式:我被邀请做科锐国际旗下数科同道主办的技术沙龙嘉宾

「数科同道」是「科锐国际」旗下的面向技术开发者的专属垂直招聘平台。《数科同道技术沙龙》是由数科同道主办的活动,每期活动邀请行业内及其他知名公司的技术专家分享来自一线的实践经验。自2022年12月起,数科同道将在苏州,聚焦嵌入式行业及…

【Cadence Virtuoso】IC617 入门操作 (MOS特性分析)

Cadence Virtuoso IC617 入门操作篇前言一、软件操作(1)创建自己的Library(2)创建Library下的 Cell二、电路搭建(1)调出器件三、电路仿真(1)打开仿真工具“ADE L”(2) 对参数进行赋值…

【MATLAB教程案例63】学习如何建立自己的深度学习训练样本库,包括分类识别数据库和目标检测数据库

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 1.软件版本 2.建立自己的深度学习训练样本库1——分类识别数据库

纯精华、二十八道BATJ大厂Java岗之“多线程与并发“面试题分享

年底了,又到了跳槽季啦,该刷题走起了。这里总结了一些被问到可能会懵逼的面试真题,有需要的可以看下~ 一、进程与线程 进程是资源分配的最小单位,线程是cpu调度的最小单位。线程也被称为轻量级进程。 所有与进程相关…

内存读写指令 —— LDR / STR

CPU在处理C语言的 a 操作时,变量a因为是放在在内存里的,需要先把a从内存中读取到寄存器中,运算完毕后再保存到内存中。 因此,这个过程中肯定需要用到内存的读写指令。 目录 1、基本内存读写指令(4个字节读写&#xf…

路由声明式传参和编程式传参

声明式传参(使用带href /或本质上是a标签的时候) 直接带路径里带携带参数 下例 在地址栏是可以看到参数的(querys传参) 在vue.tools插件里可以观察到 取出路径参数的方式 params传参 首先需要在路由规则里配置 下图(复制这行路由规则&am…

Day43——Dp专题

文章目录股票问题篇21、买卖股票的最佳时机22、买卖股票的最佳时机II23、买卖股票的最佳时机Ⅲ24、买卖股票的最佳时机Ⅳ25、最佳买卖股票时机含冷冻期26、买卖股票的最佳时机含手续费股票问题总结篇股票问题篇 21、买卖股票的最佳时机 力扣题目链接 动态规划 定义二维数组…

【GRU回归预测】基于matlab粒子群算法优化门控循环单元PSO-GRU神经网络回归预测(多输入单输出)【含Matlab源码 2286期】

⛄一、CNN-GRU数据预测 1 理论基础 1.1 CNN算法 负荷序列数据为一维数据,用一维卷积核对数据进行卷积处理,以获取数据的特征。 现设定卷积核的维度为3,移动步长为1,对输入数据进行卷积,以获得特征图图谱,即…

WordCount 案例实操

文章目录WordCount 案例实操一、案例需求二、案例分析三、代码实现1、Map阶段代码WordCount 案例实操 一、案例需求 1、需求:在给定的文本文件中统计输出每一个单词的总次数 2、期望输出数据 atguigu 2 banzhang 1 cls 2 hadoop 1 jiao 1 ss 2 xue 1 二、案例分…

java和springboot开发祭祀小程序扫墓系统代祭小程序

介绍 绿色祭祀小程序,用户微信授权登录后可以发布纪念馆(祭祀名人,祭祀英烈,祭祀个人,可以设置成公开状态或者隐私状态)购买祭祀礼物和留言,用户还可以发布代祭的信息 演示视频 小程序 https:…

计算机毕业设计ssm+vue基本微信小程序的购物商城小程序

项目介绍 随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用购物平台小程序也在不断的使用,本文首先分析了购物平台小程序应用程序的需求,从系统开发…

Spark SQL执行计划到RDD全流程记录

目录 0、样例说明 1、解析词义,语义,生成语法树 1.1、概念 1.2、根据样例跟踪Spark代码 2、Unresolved Logical Plan 3、Analyzed Logical Plan 源码 SessionCatalog Analyzer Rule Batch 对比 4、Optimized Logical Plan 5、Physical Plan …

vue3组件基础,组件引用与使用、向子组件传递数据与事件prop、emit

vue3组件基础&#xff0c;组件引用与使用、向子组件传递数据与事件prop、emit 一、组件模板 组成&#xff1a;template(必要)&#xff0c;script&#xff0c;style 例子&#xff1a;模板名称 Hello.vue <template><div class"msgStyle">{{ msg }}</di…

Java项目:ssm校园在线点餐系统源码

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 系统主要分为前台和后台&#xff0c;分为管理员与普通用户两种角色&#xff1b; 前台主要功能有&#xff1a;用户注册、用户登录、我的购物车、…

大学生零基础学编程要多久呢

众所周知现在的程序员都是高薪工作&#xff0c;很多人会通过自学或培训去获得一些编程知识&#xff0c;那“学编程需要什么基础呢&#xff1f;” 编程培训已经成为了很多大学毕业生缓解就业压力的一种方式&#xff0c;毕业之后找一份高薪工作是许多大学生最基本想法&#xff0…

【学习打卡03】可解释机器学习笔记之CAM类激活热力图

可解释机器学习笔记之CAM类激活热力图 文章目录可解释机器学习笔记之CAM类激活热力图CAM介绍CAM算法原理GAP全局平均池化GAP VS GMPCAM算法的缺点及改进CAM可视化同张图&#xff0c;不同类别不同图&#xff0c;同个类别CAM弱监督定位用语义特征编码进行分类CAM各种有意思的应用…

Linux系统中DDR3硬件初始化实验

大家好&#xff0c;我是ST。 今天的话&#xff0c;主要和大家聊一聊&#xff0c;如何使用Cortex-A芯片自带的RAM&#xff0c;很多时候要运行Linux的话是完全不够用的&#xff0c;必须要外接一片RAM芯片&#xff0c;驱动开发板上的DDR3。 目录 第一&#xff1a;何为RAM和ROM …