Re: Raspberry Pi 3B+ and pitiful network speeds

From: MJ <mafsys1234_at_gmail.com>
Date: Mon, 21 Jun 2021 22:24:02 UTC
<snip>>

* an nc process at each end of the TCP connection

> * a dd process piped to each nc process to measure the throughput
> * no filesystem access, hence the dd processes reading from /dev/urandom
>    (or /dev/zero if you like) and writing to /dev/null
>
> Which would be along these lines:
>
> # TCP download
> freebsdrpi$ nc -l 10000 | dd bs=1m of=/dev/null
> linuxpc$ dd if=/dev/zero bs=1M count=2000 status=progress | \
> nc freebsdrpi 10000
> # TCP upload
> linuxpc$ nc -l 15000 | dd bs=1M of=/dev/null status=progress
> freebsdrpi$ dd if=/dev/zero bs=1m count=2000 | nc linuxpc 15000

Thank you for your assistance, Denis. This is a lengthy post.


Results from FreeBSD 13 headless PC (gateway) to FreeBSD RPI3B+ (rpi3):
--------------------------------------------
[TCP DOWNLOAD]

RPI3B+:
nc -l 10000 | dd bs=1m of=/dev/null
0+342615 records in
2000+0 records out
2097152000 bytes transferred in 277.126050 secs (7567502 bytes/sec)

FreeBSD13:
dd if=/dev/zero bs=1M count=2000 status=progress | nc rpi3 10000
   2094006272 bytes (2094 MB, 1997 MiB) transferred 265.056s, 7900 kB/s
2000+0 records in
1747+506 records out
2097152000 bytes transferred in 265.354504 secs (7903209 bytes/sec)


--------------------------------------------

[TCP UPLOAD]
RPI3B+:

dd if=/dev/zero bs=1m count=2000 | nc gateway 15000
2000+0 records in
2000+0 records out
2097152000 bytes transferred in 198.379433 secs (10571418 bytes/sec)


FreeBSD13:
nc -l 15000 | dd bs=1M of=/dev/null status=progress
  2095054848 bytes (2095 MB, 1998 MiB) transferred 200.017s, 10 MB/s
0+281264 records in
2000+0 records out
2097152000 bytes transferred in 203.023846 secs (10329585 bytes/sec)

<<< The gateway/FreeBSD13 is gigabit capable on the tested card.>>>

I also tested using iperf:

Upload from FreeBSD PC to RPI3B+:

iperf -c rpi3 -w 2m -t 30s -i 1
------------------------------------------------------------
Client connecting to rpi3, TCP port 5001
TCP window size: 32.8 KByte (WARNING: requested 1.91 MByte)
------------------------------------------------------------
[  1] local 192.168.1.106 port 29887 connected with 192.168.1.24 port 5001
[ ID] Interval       Transfer     Bandwidth
[  1] 0.00-1.00 sec  7.75 MBytes  65.0 Mbits/sec
[  1] 1.00-2.00 sec  8.12 MBytes  68.2 Mbits/sec
[  1] 2.00-3.00 sec  10.5 MBytes  88.1 Mbits/sec
[  1] 3.00-4.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 4.00-5.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 5.00-6.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 6.00-7.00 sec  6.00 MBytes  50.3 Mbits/sec
[  1] 7.00-8.00 sec  9.75 MBytes  81.8 Mbits/sec
[  1] 8.00-9.00 sec  8.88 MBytes  74.4 Mbits/sec
[  1] 9.00-10.00 sec  8.38 MBytes  70.3 Mbits/sec
[  1] 10.00-11.00 sec  10.0 MBytes  83.9 Mbits/sec
[  1] 11.00-12.00 sec  9.12 MBytes  76.5 Mbits/sec
[  1] 12.00-13.00 sec  9.12 MBytes  76.5 Mbits/sec
[  1] 13.00-14.00 sec  10.1 MBytes  84.9 Mbits/sec
[  1] 14.00-15.00 sec  5.38 MBytes  45.1 Mbits/sec
[  1] 15.00-16.00 sec  7.50 MBytes  62.9 Mbits/sec
[  1] 16.00-17.00 sec  7.62 MBytes  64.0 Mbits/sec
[  1] 17.00-18.00 sec  9.25 MBytes  77.6 Mbits/sec
[  1] 18.00-19.00 sec  5.38 MBytes  45.1 Mbits/sec
[  1] 19.00-20.00 sec  5.62 MBytes  47.2 Mbits/sec
[  1] 20.00-21.00 sec  10.0 MBytes  83.9 Mbits/sec
[  1] 21.00-22.00 sec  8.62 MBytes  72.4 Mbits/sec
[  1] 22.00-23.00 sec  9.88 MBytes  82.8 Mbits/sec
[  1] 23.00-24.00 sec  6.25 MBytes  52.4 Mbits/sec
[  1] 24.00-25.00 sec  9.88 MBytes  82.8 Mbits/sec
[  1] 25.00-26.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 26.00-27.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 27.00-28.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 28.00-29.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 29.00-30.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 0.00-30.22 sec   265 MBytes  73.7 Mbits/sec

----------------------------------------------------------------------------

 From RPI3B+ to FreeBSD PC:

iperf -c 192.168.1.106 -w 2m -t 30s -i 1
------------------------------------------------------------
Client connecting to 192.168.1.106, TCP port 5001
TCP window size: 1.91 MByte (WARNING: requested 1.91 MByte)
------------------------------------------------------------
[  1] local 192.168.1.24 port 55499 connected with 192.168.1.106 port 5001
[ ID] Interval       Transfer     Bandwidth
[  1] 0.00-1.00 sec  12.1 MBytes   102 Mbits/sec
[  1] 1.00-2.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 2.00-3.00 sec  10.5 MBytes  88.1 Mbits/sec
[  1] 3.00-4.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 4.00-5.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 5.00-6.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 6.00-7.00 sec  10.5 MBytes  88.1 Mbits/sec
[  1] 7.00-8.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 8.00-9.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 9.00-10.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 10.00-11.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 11.00-12.00 sec  10.5 MBytes  88.1 Mbits/sec
[  1] 12.00-13.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 13.00-14.00 sec  10.5 MBytes  88.1 Mbits/sec
[  1] 14.00-15.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 15.00-16.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 16.00-17.00 sec  10.2 MBytes  86.0 Mbits/sec
[  1] 17.00-18.00 sec  10.0 MBytes  83.9 Mbits/sec
[  1] 18.00-19.00 sec  9.38 MBytes  78.6 Mbits/sec
[  1] 19.00-20.00 sec  9.50 MBytes  79.7 Mbits/sec
[  1] 20.00-21.00 sec  9.50 MBytes  79.7 Mbits/sec
[  1] 21.00-22.00 sec  9.88 MBytes  82.8 Mbits/sec
[  1] 22.00-23.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 23.00-24.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 24.00-25.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 25.00-26.00 sec  9.88 MBytes  82.8 Mbits/sec
[  1] 26.00-27.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 27.00-28.00 sec  10.5 MBytes  88.1 Mbits/sec
[  1] 28.00-29.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 29.00-30.00 sec  10.4 MBytes  87.0 Mbits/sec
[  1] 0.00-30.19 sec   310 MBytes  86.0 Mbits/sec

Now, I could run these very same tests off Devuan if you like? This may help disprove any network issues? Although, as I've stated, the Devuan version running on the RPI3 consistently gets up to 3 times this speed.

Thanks

Matt.