
NanoPi NEO(無印)はネットワーク10/100Mbpsに対応しているがGbEには非対応。GbEに対応させようとするとネットワークチップが必要だけど、10/100MbpsはSoCの内蔵機能だけで利用できるから安く上がると思われる。
新しいNanoPi NEO2はSoC内蔵の「なんちゃって」ネットワークインターフェースではなく、一応まともなGbEなネットワークチップを搭載したのがウリ。(上の写真)
そこで、実際にどんなもんか試してみた。
NanoPi NEO(無印)
$ iperf -c 192.168.0.??? ------------------------------------------------------------ Client connecting to 192.168.0.???, TCP port 5001 TCP window size: 255 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.??? port 16444 connected with 192.168.0.??? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 113 MBytes 94.5 Mbits/sec
PC → NanoPi NEO (IPv4): 94.5Mbps
$ iperf -V -c f???:????:????:????:????:????:????:???? ------------------------------------------------------------ Client connecting to f???:????:????:????:????:????:????:????, TCP port 5001 TCP window size: 255 KByte (default) ------------------------------------------------------------ [ 3] local f???:????:????:????:????:????:????:???? port 31003 connected with f???:????:????:????:????:????:????:???? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 111 MBytes 92.8 Mbits/sec
PC → NanoPi NEO (IPv6): 92.8Mbps
$ iperf -c 192.168.0.??? ------------------------------------------------------------ Client connecting to 192.168.0.???, TCP port 5001 TCP window size: 21.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.??? port 56469 connected with 192.168.0.??? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.1 sec 116 MBytes 96.5 Mbits/sec
NanoPi NEO → PC (IPv4): 96.5Mbps
$ iperf -V -c f???:????:????:????:????:????:????:???? ------------------------------------------------------------ Client connecting to f???:????:????:????:????:????:????:????, TCP port 5001 TCP window size: 20.8 KByte (default) ------------------------------------------------------------ [ 3] local f???:????:????:????:????:????:????:???? port 49151 connected with f???:????:????:????:????:????:????:???? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.1 sec 114 MBytes 95.2 Mbits/sec
NanoPi NEO → PC (IPv6): 95.2Mbps
NanoPi NEO(無印)は100Mbpsのネットワークであるという点は残念ではあるが、SoC内蔵にしては通信性能が何か劣るという点は特に無いようだ。
H3のCPU全コアに100%負荷をかけた状態で上と同じテストを行っても結果の数字は変わらなかった。
CPUの負荷が高いと遅くなるかと思っていたので正直意外。
ただし、NanoPi NEOはシステム時計がバカなので計測結果の数字を見るときは時計の正しいPC側を見た方が良さげ。負荷が高い状態だと計測が短時間であってもNanoPi NEOシステム時計が激しく遅れるせいで、NanoPi NEO側で表示された結果が微妙に良い数字になる傾向あり。(同一の計測でクライアント側サーバ側でそれぞれ結果が表示されるのだが違う数字が表示される)
NanoPi NEO2
$ iperf -c 192.168.0.??? ------------------------------------------------------------ Client connecting to 192.168.0.???, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.??? port 56900 connected with 192.168.0.??? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 948 MBytes 795 Mbits/sec
PC → NanoPi NEO2 (IPv4): 795Mbps
$ iperf -V -c f???:????:????:????:????:????:????:???? ------------------------------------------------------------ Client connecting to f???:????:????:????:????:????:????:????, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 3] local f???:????:????:????:????:????:????:???? port 57028 connected with f???:????:????:????:????:????:????:???? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 904 MBytes 758 Mbits/sec
PC → NanoPi NEO2 (IPv6): 758Mbps
$ iperf -c 192.168.0.??? ------------------------------------------------------------ Client connecting to 192.168.0.???, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.??? port 45790 connected with 192.168.0.??? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.05 GBytes 904 Mbits/sec
NanoPi NEO2 → PC (IPv4): 904Mbps
iperf -V -c f???:????:????:????:????:????:????:???? ------------------------------------------------------------ Client connecting to f???:????:????:????:????:????:????:????, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 3] local f???:????:????:????:????:????:????:???? port 40076 connected with f???:????:????:????:????:????:????:???? port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.03 GBytes 888 Mbits/sec
NanoPi NEO2 → PC (IPv6): 888Mbps
参考までに普通のPC同士のIPv4で900Mbps前半程度。IPv6はそれより僅かに劣る程度。Linux PCがサーバ側でNanoPi NEO2がクライアント側のときは特に異常無く普通の性能。
しかし、Linux PCがクライアント側でNanoPi NEO2がサーバ側の場合にIPv4,IPv6共に800Mbps出ないのが謎。