By
Toradex秦海
1). 簡介
NXP iMX8已經(jīng)正式發(fā)布,相較于之前NXP i.MX系列的主力產(chǎn)品iMX6,其性能有了大幅提升,本文就針對網(wǎng)絡(luò)接口對NXP? iMX8和iMX6兩款A(yù)RM處理器進行對比測試。
本文演示所使用的ARM平臺來自Toradex基于NXP iMX8 SoC的Apalis iMX8 ARM核心板和基于NXP iMX6Q SoC的Apalis iMX6 ARM核心板。
2). 準備
a).Apalis
iMX8QMARM核心版配合ApalisEvaluation Board載板,Apalis iMX8QM安裝Toradex V3.0b2 Linux demo image,同時連接調(diào)試串口UART1(載板X29)到開發(fā)主機方便調(diào)試。更多關(guān)于Apalis iMX8配合Apalis Evaluation Board載板的說明請參考Datasheet和開發(fā)上手指南。
b).Apalis
iMX6QARM核心版配合ApalisEvaluation Board載板,Apalis iMX6Q安裝Toradex V2.8 Linux demo image,同時連接調(diào)試串口UART1(載板X29)到開發(fā)主機方便調(diào)試。更多關(guān)于Apalis iMX6配合Apalis Evaluation Board載板的說明請參考Datasheet和開發(fā)上手指南。
c). Ubuntu linux PC主機,用于分別和Apalis iMX8、Apalis iMX6進行收發(fā)測試。
d). 測試工具軟件使用 iperf3 工具,Toradex Linux demo image里面已經(jīng)默認集成,Ubuntu 系統(tǒng)(這里以18.04為例)要通過apt命令來安裝iperf3
----------------------
$ sudo apt update
$ sudo apt install iperf3
----------------------
e). 網(wǎng)絡(luò)連接拓撲為Apalis iMX8QM、Apalis iMX6Q以及Ubuntu PC都通過千兆有線網(wǎng)絡(luò)連接到同一個局域網(wǎng)。
3). TCP網(wǎng)絡(luò)傳輸性能測試對比
a). Apalis iMX6Q/Apalis iMX8QM作為Server端接收,Ubuntu PC作為Client端發(fā)送測試
./ Apalis iMX6Q/Apalis iMX8QM Server端運行下面命令
----------------------
$ iperf3 -s
----------------------
./ Apalis iMX6Q
----------------------
$ iperf3 -c [IP of Apalis iMX6Q] -t 60 -i10 -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 -i10
…
[ 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端發(fā)送,Ubuntu PC作為Sever端接收測試
./ Ubuntu PC server端運行下面命令
----------------------
$ iperf3 -s
----------------------
./ Apalis iMX6Q Client端連接測試
----------------------
root@apalis-imx6:~# iperf3 -c [IP of UbuntuPC] -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 UbuntuPC] -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). 測試結(jié)果匯總
項目TCP發(fā)送測試TCP接收測試
Apalis? iMX6Q406 Mb/s574 Mb/s
Apalis? iMX8QM915 Mb/s934 Mb/s
?
?
4). UDP網(wǎng)絡(luò)傳輸性能測試對比
a). Apalis iMX6Q/Apalis iMX8QM作為Server端接收,Ubuntu PC作為Client端發(fā)送測試
./ 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 -b1000M -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 -b100M -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 -b400M -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 -b1000M -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端發(fā)送,Ubuntu PC作為Sever端接收測試
./ Ubuntu PC server端運行下面命令
----------------------
$ iperf3 -s
----------------------
./ Apalis iMX6Q Client端連接測試
----------------------
/* 100M 帶寬測試*/
root@apalis-imx6:~# iperf3 -c [IP of UbuntuPC] -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 UbuntuPC] -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 UbuntuPC] -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 UbuntuPC] -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). 測試結(jié)果匯總
?UDP發(fā)送測試UDP接收測試
100M帶寬400M帶寬1000M帶寬100M帶寬400M帶寬1000M帶寬
Apalis iMX6Q100 Mb/s273 Mb/s274 Mb/s99.9 Mb/s400 Mb/s *426 Mb/s *
Apalis iMX8QM100 Mb/s400 Mb/s674 Mb/s99.9 Mb/s400 Mb/s949 Mb/s
*注意此時丟包率已經(jīng)到1%左右
5). 總結(jié)
本文對比測試了NXP iMX6和NXP iMX8處理器的網(wǎng)絡(luò)性能,對于iMX6,由于這個Eratta的限制,400Mb/s左右的性能也就把符合文檔的描述,iMX8則在大多數(shù)情況下能夠接近千兆帶寬。