"); //-->
By Toradex秦海
1). 简介
NXP iMX8已经正式发布,相较于之前NXP i.MX系列的主力产品iMX6,其性能有了大幅提升,本文就针对网络接口对NXP iMX8和iMX6两款ARM处理器进行对比测试。
本文演示所使用的ARM平台来自Toradex基于NXP iMX8 SoC的Apalis iMX8 ARM核心板和基于NXP iMX6Q SoC的Apalis iMX6 ARM核心板。
2). 准备
a). Apalis iMX8QM ARM核心版配合Apalis Evaluation Board载板,Apalis iMX8QM安装Toradex V3.0b2 Linux demo image,同时连接调试串口UART1(载板X29)到开发主机方便调试。更多关于Apalis iMX8配合Apalis Evaluation Board载板的说明请参考Datasheet和开发上手指南。
b). Apalis iMX6Q ARM核心版配合Apalis Evaluation Board载板,Apalis iMX6Q安装Toradex V2.8 Linux demo image,同时连接调试串口UART1(载板X29)到开发主机方便调试。更多关于Apalis iMX6配合Apalis Evaluation Board载板的说明请参考Datasheet和开发上手指南。
c). Ubuntu linux PC主机, 用于分别和Apalis iMX8、Apalis iMX6进行收发测试。
d). 测试工具软件使用 iperf3 工具,Toradex Linux demo image里面已经默认集成,Ubuntu 系统(这里以18.04为例)要通过apt命令来安装iperf3
----------------------
$ sudo apt update
$ sudo apt install iperf3
----------------------
e). 网络连接拓扑为Apalis iMX8QM、Apalis iMX6Q以及Ubuntu PC都通过千兆有线网络连接到同一个局域网。
3). TCP网络传输性能测试对比
a). 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
----------------------
b). 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
----------------------
c). 测试结果汇总
项目 | TCP发送测试 | TCP接收测试 |
Apalis iMX6Q | 406 Mb/s | 574 Mb/s |
Apalis iMX8QM | 915 Mb/s | 934 Mb/s |
4). UDP网络传输性能测试对比
a). 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%)
----------------------
b). 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 10
…
[ 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
----------------------
c). 测试结果汇总
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%左右
5). 总结
本文对比测试了NXP iMX6和NXP iMX8处理器的网络性能,对于iMX6,由于这个Eratta的限制,400Mb/s左右的性能也就把符合文档的描述,iMX8则在大多数情况下能够接近千兆带宽。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。