I want to measure actual speed of 1Gb Ethernet interface on my embedded device with ARM cortex-A8 two-core 600MHz processor, connected to PC on the other side.
I've tried to check it with iperf client, installed on device and iperf server, installed on PC. And I got the following results
Than I changed iperf client on following command:
$ dd if=/media/sd0p1/Videos/20180221_164356.mp4 bs=1M | nc 192.168.0.2 5001
And in this case bandwidth is approximately 2 times less than with iperf: dd-nc-results.
I've also read this post, and than executed 2 instances of dd->nc pipeline on the client side, that sends data to iperf on the PC side and got this result. Also I figured out, that in case of dd->nc my CPU loads nearly full. I've got two questions:
- Which of that cases I can consider as more accurate way to identify true bandwidth.
- How this results will vary, when I start to launch more apps on my device? Am I right, that in case of increasing number of working processes, bandwidth should to go down.