Blog:
NXP iMX8 和 iMX6 Arm 处理器网络性能对比

segunda-feira, 6 de janeiro de 2020

简介

NXP iMX8 已经正式发布,相较于之前 NXP i.MX 系列的主力产品 iMX6,其性能有了大幅提升,本文就针对网络接口对 NXP  iMX8 和iMX6 两款 Arm 处理器进行对比测试。

本文演示所使用的 Arm 平台来自 Toradex 基于NXP iMX8 SoC 的 Apalis iMX8 Arm 核心板和基于 NXP iMX6Q SoC 的 Apalis iMX6 Arm 核心板。

准备

Apalis iMX8QM Arm 核心版配合 Apalis Evaluation Board 载板,Apalis iMX8QM 安装 Toradex V3.0b2 Linux demo image,同时连接调试串口UART1(载板X29)到开发主机方便调试。更多关于 Apalis iMX8 配合Apalis Evaluation Board 载板的说明请参考 Datasheet开发上手指南

Apalis iMX6Q Arm 核心版配合 Apalis Evaluation Board 载板,Apalis iMX6Q 安装Toradex V2.8 Linux demo image,同时连接调试串口 UART1(载板X29)到开发主机方便调试。更多关于 Apalis iMX6 配合 Apalis Evaluation Board 载板的说明请参考 Datasheet开发上手指南

Ubuntu linux PC 主机, 用于分别和 Apalis iMX8、Apalis iMX6 进行收发测试。

测试工具软件使用 iperf3 工具,Toradex Linux demo image 里面已经默认集成,Ubuntu 系统(这里以18.04 为例)要通过 apt 命令来安装 iperf3

$ sudo apt update
$ sudo apt install iperf3

网络连接拓扑为 Apalis iMX8QM、Apalis iMX6Q 以及Ubuntu PC 都通过千兆有线网络连接到同一个局域网。

TCP网络传输性能测试对比

Apalis iMX6Q/Apalis iMX8QM 作为 Server 端接收,Ubuntu PC 作为 Client 端发送测试

Apalis iMX6Q/Apalis iMX8QM Server端运行下面命令

$ iperf3 -s

  • Apalis iMX6Q

$ iperf3 -c [IP of Apalis iMX6Q] -t 60 -i 10 -w 300K

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-60.00  sec  4.01 GBytes   574 Mbits/sec    1             sender
[  4]   0.00-60.00  sec  4.01 GBytes   574 Mbits/sec                  receiver

  • Apalis iMX8QM

$ iperf3 -c [IP of Apalis iMX8QM] -t 60 -i 10

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-60.00  sec  6.52 GBytes   934 Mbits/sec    0             sender
[  4]   0.00-60.00  sec  6.52 GBytes   934 Mbits/sec                  receiver

Apalis iMX6Q/Apalis iMX8QM 作为 Client 端发送,Ubuntu PC 作为 Sever 端接收测试

Ubuntu PC server 端运行下面命令

$ iperf3 -s

Apalis iMX6Q Client 端连接测试

root@apalis-imx6:~# iperf3 -c [IP of Ubuntu PC] -t 60 -i 10

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  2.84 GBytes   406 Mbits/sec    0             sender
[  5]   0.00-60.00  sec  2.84 GBytes   406 Mbits/sec                  receiver

Apalis iMX8QM Client端连接测试

root@apalis-imx8:~# iperf3 -c [IP of Ubuntu PC] -t 60 -i 10

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  6.39 GBytes   915 Mbits/sec    0             sender
[  5]   0.00-60.00  sec  6.39 GBytes   915 Mbits/sec                  receiver

测试结果汇总

项目

TCP发送测试

TCP接收测试

Apalis iMX6Q

406 Mb/s

574 Mb/s

Apalis iMX8QM

915 Mb/s

934 Mb/s

UDP网络传输性能测试对比

Apalis iMX6Q/Apalis iMX8QM 作为 Server 端接收,Ubuntu PC 作为 Client端发送测试

Apalis iMX6Q/Apalis iMX8QM Server端运行下面命令

$ iperf3 -s

  • Apalis iMX6Q

100M 带宽测试

$ iperf3 -c [IP of Apalis iMX6Q] -u -b 100M -t 60 -i 10

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec   714 MBytes  99.9 Mbits/sec  0.110 ms  0/91424 (0%) 

400M 带宽测试

$ iperf3 -c [IP of Apalis iMX6Q] -u -b 400M -t 60 -i 10

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec  2.79 GBytes   400 Mbits/sec  0.098 ms  4374/365993 (1.2%) 

1000M 带宽测试

$ iperf3 -c [IP of Apalis iMX6Q] -u -b 1000M -t 60 -i 10

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec  2.98 GBytes   426 Mbits/sec  0.167 ms  2304/390206 (0.59%) 

  • Apalis iMX8QM

100M 带宽测试

$ iperf3 -c [IP of Apalis iMX8QM] -u -b 100M -t 60 -i 10

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec   714 MBytes  99.9 Mbits/sec  0.078 ms  84/91416 (0.092%) 

400M 带宽测试

$ iperf3 -c [IP of Apalis iMX8QM] -u -b 400M -t 60 -i 10

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec  2.79 GBytes   400 Mbits/sec  0.092 ms  121/366076 (0.033%) 

1000M 带宽测试

$ iperf3 -c [IP of Apalis iMX8QM] -u -b 1000M -t 60 -i 10

[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec  6.63 GBytes   949 Mbits/sec  0.064 ms  284/868752 (0.033%)

Apalis iMX6Q/Apalis iMX8QM作为Client端发送,Ubuntu PC作为Sever端接收测试

Ubuntu PC server端运行下面命令

$ iperf3 -s

  • Apalis iMX6Q Client 端连接测试

100M 带宽测试

root@apalis-imx6:~# iperf3 -c [IP of Ubuntu PC] -u -b 100M -t 60 -i 10

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-60.00  sec   715 MBytes   100 Mbits/sec  0.000 ms  0/517952 (0%)  sender
[  5]   0.00-60.00  sec   715 MBytes   100 Mbits/sec  0.005 ms  0/517952 (0%)  receiver

400M 带宽测试

root@apalis-imx6:~# iperf3 -c [IP of Ubuntu PC] -u -b 400M -t 60 -i 10

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-60.00  sec  1.91 GBytes   273 Mbits/sec  0.000 ms  0/1413705 (0%)  sender
[  5]   0.00-60.00  sec  1.91 GBytes   273 Mbits/sec  0.021 ms  0/1413705 (0%)  receiver

1000M 带宽测试

root@apalis-imx6:~# iperf3 -c [IP of Ubuntu PC] -u -b 1000M -t 60 -i 10

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-60.00  sec  1.92 GBytes   274 Mbits/sec  0.000 ms  0/1421514 (0%)  sender
[  5]   0.00-60.00  sec  1.92 GBytes   274 Mbits/sec  0.057 ms  0/1421509 (0%)  receiver

  • Apalis iMX8QM Client端连接测试

100M 带宽测试

root@apalis-imx8:~# iperf3 -c [IP of Ubuntu PC] -u -b 100M -t 60 -i 10

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-60.00  sec   715 MBytes   100 Mbits/sec  0.000 ms  0/517950 (0%)  sender
[  5]   0.00-60.00  sec   715 MBytes   100 Mbits/sec  0.035 ms  0/517950 (0%)  receiver

400M 带宽测试

root@apalis-imx8:~# iperf3 -c 10.20.1.126 -u -b 400M -t 60 -i 1

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-60.00  sec  2.79 GBytes   400 Mbits/sec  0.000 ms  0/2071798 (0%)  sender
[  5]   0.00-60.00  sec  2.79 GBytes   400 Mbits/sec  0.026 ms  68/2071798 (0.0033%)  receiver

1000M 带宽测试

root@apalis-imx8:~# iperf3 -c 10.20.1.126 -u -b 1000M -t 60 -i 10

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-60.00  sec  4.71 GBytes   674 Mbits/sec  0.000 ms  0/3489592 (0%)  sender
[  5]   0.00-60.00  sec  4.71 GBytes   674 Mbits/sec  0.030 ms  103/3489586 (0.003%)  receiver


测试结果汇总

UDP发送测试

UDP接收测试

100M带宽

400M带宽

1000M带宽

100M带宽

400M带宽

1000M带宽

Apalis iMX6Q

100 Mb/s

273 Mb/s

274 Mb/s

99.9 Mb/s

400 Mb/s *

426 Mb/s *

Apalis iMX8QM

100 Mb/s

400 Mb/s

674 Mb/s

99.9 Mb/s

400 Mb/s

949 Mb/s

* 注意此时丢包率已经到1%左右

总结

本文对比测试了 NXP iMX6 和 NXP iMX8 处理器的网络性能,对于 iMX6,由于这个 Eratta 的限制,400Mb/s 左右的性能也就把符合文档的描述,iMX8 则在大多数情况下能够接近千兆带宽。

Autor: 秦海,技术销售工程师,韬睿(上海)

Deixe um comentário

Please login to leave a comment!
Have a Question?