Howto test and tune Gigabit Networking (1000M) - longsleep - 08-21-2016
Pine64+ and Pine64+2GB have a Gigabit NIC. To actually test the speed of the network interface a few things need to be considered. If you want to test the NIC performance of your Pine64, this thread is for you.
To do any meaningful testing, you need another device which is well known and capable to deliver over 900MBit/s with the cable and switch it is connected to. Also make sure that the network cable you use for the Pine64 is working with Gigabit Network (8 wires twisted pair, Cat5e or Cat6).
It is important to understand that you should test network speed only. If you copy a file to the Pine or something you are testing something completely different.
Furthermore it is important to know the settings of the whole stack involved and always use same / good settings. I added a platform-script at https://github.com/longsleep/build-pine64-image/blob/master/simpleimage/platform-scripts/pine64_tune_network.sh to help with that. Make sure to run this or similar before any testing.
- Make sure you use the latest Kernel. `uname -a`
Code: root@pine64:~# uname -a
Linux pine64 3.10.102-3-pine64-longsleep #98 SMP PREEMPT Sat Aug 20 22:28:17 CEST 2016 aarch64 aarch64 aarch64 GNU/Linux
- Use iperf3. Start it in server mode on your other host (iperf3 -s). iperf 3 exists for essentially all platforms as precompiled binary (https://iperf.fr/iperf-download.php).
- Install iperf3 on your Pine64. `sudo apt-get install iperf3`.
- Run iperf3 in client mode on Pine64 `iperf -c $OTHER_HOST_IP`
This can reach about 800 Mbits/sec
Code: root@pine64:~# iperf3 -c 192.168.1.111
Connecting to host 192.168.1.111, port 5201
[ 4] local 192.168.1.54 port 33437 connected to 192.168.1.111 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.01 sec 99.0 MBytes 825 Mbits/sec 1 168 KBytes
[ 4] 1.01-2.00 sec 100 MBytes 848 Mbits/sec 1 139 KBytes
[ 4] 2.00-3.00 sec 101 MBytes 849 Mbits/sec 0 197 KBytes
[ 4] 3.00-4.00 sec 100 MBytes 841 Mbits/sec 0 235 KBytes
[ 4] 4.00-5.00 sec 97.7 MBytes 820 Mbits/sec 3 139 KBytes
[ 4] 5.00-6.00 sec 99.1 MBytes 831 Mbits/sec 2 82.0 KBytes
[ 4] 6.00-7.00 sec 95.4 MBytes 801 Mbits/sec 1 120 KBytes
[ 4] 7.00-8.00 sec 97.7 MBytes 819 Mbits/sec 1 151 KBytes
[ 4] 8.00-9.00 sec 96.8 MBytes 812 Mbits/sec 0 202 KBytes
[ 4] 9.00-10.00 sec 102 MBytes 854 Mbits/sec 1 175 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 990 MBytes 830 Mbits/sec 10 sender
[ 4] 0.00-10.00 sec 989 MBytes 829 Mbits/sec receiver
- Run iperf3 in client reverse mode on Pine64 `iperf -c $OTHER_HOST_IP -R`
This can reach about 900 Mbits/sec.
Code: root@pine64:~# iperf3 -c 192.168.1.111 -R
Connecting to host 192.168.1.111, port 5201
Reverse mode, remote host 192.168.1.111 is sending
[ 4] local 192.168.1.54 port 33435 connected to 192.168.1.111 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 104 MBytes 873 Mbits/sec
[ 4] 1.00-2.00 sec 107 MBytes 901 Mbits/sec
[ 4] 2.00-3.00 sec 106 MBytes 893 Mbits/sec
[ 4] 3.00-4.00 sec 107 MBytes 901 Mbits/sec
[ 4] 4.00-5.00 sec 108 MBytes 903 Mbits/sec
[ 4] 5.00-6.00 sec 105 MBytes 879 Mbits/sec
[ 4] 6.00-7.00 sec 109 MBytes 912 Mbits/sec
[ 4] 7.00-8.00 sec 107 MBytes 898 Mbits/sec
[ 4] 8.00-9.00 sec 107 MBytes 900 Mbits/sec
[ 4] 9.00-10.00 sec 107 MBytes 895 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 1.04 GBytes 896 Mbits/sec sender
[ 4] 0.00-10.00 sec 1.04 GBytes 896 Mbits/sec receiver
- To completely max out the Pine64 run iperf 3 in parallel mode (4)
This should be a little faster (combined) than the results from only a single thread.
Code: root@pine64:~# iperf3 -c 192.168.1.111 -P 4
Connecting to host 192.168.1.111, port 5201
[ 4] local 192.168.1.54 port 33439 connected to 192.168.1.111 port 5201
[ 6] local 192.168.1.54 port 33440 connected to 192.168.1.111 port 5201
[ 8] local 192.168.1.54 port 33441 connected to 192.168.1.111 port 5201
[ 10] local 192.168.1.54 port 33442 connected to 192.168.1.111 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.03 sec 26.9 MBytes 219 Mbits/sec 1 107 KBytes
[ 6] 0.00-1.03 sec 26.7 MBytes 218 Mbits/sec 0 209 KBytes
[ 8] 0.00-1.03 sec 26.5 MBytes 216 Mbits/sec 0 212 KBytes
[ 10] 0.00-1.03 sec 26.4 MBytes 215 Mbits/sec 0 208 KBytes
[SUM] 0.00-1.03 sec 106 MBytes 868 Mbits/sec 1
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 1.03-2.02 sec 26.2 MBytes 222 Mbits/sec 0 122 KBytes
[ 6] 1.03-2.02 sec 26.2 MBytes 222 Mbits/sec 0 236 KBytes
[ 8] 1.03-2.02 sec 26.2 MBytes 222 Mbits/sec 0 239 KBytes
[ 10] 1.03-2.02 sec 26.2 MBytes 222 Mbits/sec 0 239 KBytes
[SUM] 1.03-2.02 sec 105 MBytes 888 Mbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 2.02-3.02 sec 26.2 MBytes 220 Mbits/sec 1 97.6 KBytes
[ 6] 2.02-3.02 sec 26.2 MBytes 221 Mbits/sec 1 112 KBytes
[ 8] 2.02-3.02 sec 26.2 MBytes 221 Mbits/sec 0 257 KBytes
[ 10] 2.02-3.02 sec 26.2 MBytes 221 Mbits/sec 0 255 KBytes
[SUM] 2.02-3.02 sec 105 MBytes 882 Mbits/sec 2
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 3.02-4.02 sec 26.2 MBytes 221 Mbits/sec 0 110 KBytes
[ 6] 3.02-4.02 sec 26.2 MBytes 221 Mbits/sec 0 124 KBytes
[ 8] 3.02-4.02 sec 26.2 MBytes 221 Mbits/sec 0 262 KBytes
[ 10] 3.02-4.02 sec 26.2 MBytes 221 Mbits/sec 1 109 KBytes
[SUM] 3.02-4.02 sec 105 MBytes 884 Mbits/sec 1
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 4.02-5.01 sec 26.2 MBytes 222 Mbits/sec 0 122 KBytes
[ 6] 4.02-5.01 sec 26.2 MBytes 222 Mbits/sec 0 130 KBytes
[ 8] 4.02-5.01 sec 26.2 MBytes 222 Mbits/sec 0 269 KBytes
[ 10] 4.02-5.01 sec 26.2 MBytes 222 Mbits/sec 0 123 KBytes
[SUM] 4.02-5.01 sec 105 MBytes 887 Mbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 5.01-6.05 sec 27.5 MBytes 222 Mbits/sec 1 106 KBytes
[ 6] 5.01-6.05 sec 27.5 MBytes 222 Mbits/sec 0 132 KBytes
[ 8] 5.01-6.05 sec 27.5 MBytes 222 Mbits/sec 1 94.7 KBytes
[ 10] 5.01-6.05 sec 27.5 MBytes 222 Mbits/sec 0 129 KBytes
[SUM] 5.01-6.05 sec 110 MBytes 889 Mbits/sec 2
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 6.05-7.04 sec 27.0 MBytes 227 Mbits/sec 0 117 KBytes
[ 6] 6.05-7.04 sec 27.9 MBytes 235 Mbits/sec 0 143 KBytes
[ 8] 6.05-7.04 sec 25.8 MBytes 218 Mbits/sec 0 115 KBytes
[ 10] 6.05-7.04 sec 22.8 MBytes 192 Mbits/sec 2 84.8 KBytes
[SUM] 6.05-7.04 sec 103 MBytes 872 Mbits/sec 2
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 7.04-8.01 sec 26.1 MBytes 226 Mbits/sec 0 127 KBytes
[ 6] 7.04-8.01 sec 26.2 MBytes 228 Mbits/sec 0 150 KBytes
[ 8] 7.04-8.01 sec 24.9 MBytes 216 Mbits/sec 0 126 KBytes
[ 10] 7.04-8.01 sec 23.8 MBytes 206 Mbits/sec 0 102 KBytes
[SUM] 7.04-8.01 sec 101 MBytes 875 Mbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 8.01-9.00 sec 26.2 MBytes 221 Mbits/sec 0 136 KBytes
[ 6] 8.01-9.01 sec 26.2 MBytes 221 Mbits/sec 0 156 KBytes
[ 8] 8.01-9.01 sec 26.2 MBytes 221 Mbits/sec 0 130 KBytes
[ 10] 8.01-9.01 sec 26.2 MBytes 221 Mbits/sec 0 116 KBytes
[SUM] 8.01-9.00 sec 105 MBytes 885 Mbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 9.00-10.00 sec 26.2 MBytes 221 Mbits/sec 0 144 KBytes
[ 6] 9.01-10.00 sec 26.2 MBytes 221 Mbits/sec 1 109 KBytes
[ 8] 9.01-10.00 sec 26.2 MBytes 221 Mbits/sec 0 139 KBytes
[ 10] 9.01-10.00 sec 26.2 MBytes 221 Mbits/sec 0 127 KBytes
[SUM] 9.00-10.00 sec 105 MBytes 882 Mbits/sec 1
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 265 MBytes 222 Mbits/sec 3 sender
[ 4] 0.00-10.00 sec 265 MBytes 222 Mbits/sec receiver
[ 6] 0.00-10.00 sec 266 MBytes 223 Mbits/sec 2 sender
[ 6] 0.00-10.00 sec 266 MBytes 223 Mbits/sec receiver
[ 8] 0.00-10.00 sec 262 MBytes 220 Mbits/sec 1 sender
[ 8] 0.00-10.00 sec 262 MBytes 220 Mbits/sec receiver
[ 10] 0.00-10.00 sec 258 MBytes 216 Mbits/sec 3 sender
[ 10] 0.00-10.00 sec 258 MBytes 216 Mbits/sec receiver
[SUM] 0.00-10.00 sec 1.03 GBytes 881 Mbits/sec 9 sender
[SUM] 0.00-10.00 sec 1.03 GBytes 881 Mbits/sec receiver
Code: root@pine64:~# iperf3 -c 192.168.1.111 -P 4 -R
Connecting to host 192.168.1.111, port 5201
Reverse mode, remote host 192.168.1.111 is sending
[ 4] local 192.168.1.54 port 33444 connected to 192.168.1.111 port 5201
[ 6] local 192.168.1.54 port 33445 connected to 192.168.1.111 port 5201
[ 8] local 192.168.1.54 port 33446 connected to 192.168.1.111 port 5201
[ 10] local 192.168.1.54 port 33447 connected to 192.168.1.111 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.01 sec 20.9 MBytes 174 Mbits/sec
[ 6] 0.00-1.01 sec 20.8 MBytes 174 Mbits/sec
[ 8] 0.00-1.01 sec 20.9 MBytes 174 Mbits/sec
[ 10] 0.00-1.01 sec 20.8 MBytes 173 Mbits/sec
[SUM] 0.00-1.01 sec 83.3 MBytes 694 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 1.01-2.00 sec 27.4 MBytes 231 Mbits/sec
[ 6] 1.01-2.00 sec 27.3 MBytes 230 Mbits/sec
[ 8] 1.01-2.00 sec 27.5 MBytes 232 Mbits/sec
[ 10] 1.01-2.00 sec 27.5 MBytes 232 Mbits/sec
[SUM] 1.01-2.00 sec 110 MBytes 925 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 2.00-3.00 sec 28.1 MBytes 236 Mbits/sec
[ 6] 2.00-3.00 sec 28.0 MBytes 235 Mbits/sec
[ 8] 2.00-3.00 sec 28.0 MBytes 235 Mbits/sec
[ 10] 2.00-3.00 sec 28.0 MBytes 235 Mbits/sec
[SUM] 2.00-3.00 sec 112 MBytes 941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 3.00-4.00 sec 28.0 MBytes 235 Mbits/sec
[ 6] 3.00-4.00 sec 28.1 MBytes 236 Mbits/sec
[ 8] 3.00-4.00 sec 28.0 MBytes 235 Mbits/sec
[ 10] 3.00-4.00 sec 28.0 MBytes 235 Mbits/sec
[SUM] 3.00-4.00 sec 112 MBytes 941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 4.00-5.00 sec 28.0 MBytes 235 Mbits/sec
[ 6] 4.00-5.00 sec 28.0 MBytes 235 Mbits/sec
[ 8] 4.00-5.00 sec 28.1 MBytes 236 Mbits/sec
[ 10] 4.00-5.00 sec 28.1 MBytes 236 Mbits/sec
[SUM] 4.00-5.00 sec 112 MBytes 941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 5.00-6.00 sec 28.1 MBytes 236 Mbits/sec
[ 6] 5.00-6.00 sec 28.1 MBytes 236 Mbits/sec
[ 8] 5.00-6.00 sec 28.0 MBytes 235 Mbits/sec
[ 10] 5.00-6.00 sec 27.8 MBytes 233 Mbits/sec
[SUM] 5.00-6.00 sec 112 MBytes 940 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 6.00-7.00 sec 27.9 MBytes 234 Mbits/sec
[ 6] 6.00-7.00 sec 27.9 MBytes 234 Mbits/sec
[ 8] 6.00-7.00 sec 27.9 MBytes 234 Mbits/sec
[ 10] 6.00-7.00 sec 27.9 MBytes 234 Mbits/sec
[SUM] 6.00-7.00 sec 112 MBytes 934 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 7.00-8.00 sec 28.1 MBytes 236 Mbits/sec
[ 6] 7.00-8.00 sec 28.0 MBytes 235 Mbits/sec
[ 8] 7.00-8.00 sec 28.0 MBytes 235 Mbits/sec
[ 10] 7.00-8.00 sec 28.0 MBytes 235 Mbits/sec
[SUM] 7.00-8.00 sec 112 MBytes 941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 8.00-9.00 sec 28.0 MBytes 235 Mbits/sec
[ 6] 8.00-9.00 sec 28.0 MBytes 235 Mbits/sec
[ 8] 8.00-9.00 sec 28.0 MBytes 235 Mbits/sec
[ 10] 8.00-9.00 sec 28.0 MBytes 235 Mbits/sec
[SUM] 8.00-9.00 sec 112 MBytes 941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 9.00-10.00 sec 28.0 MBytes 235 Mbits/sec
[ 6] 9.00-10.00 sec 28.1 MBytes 236 Mbits/sec
[ 8] 9.00-10.00 sec 28.0 MBytes 235 Mbits/sec
[ 10] 9.00-10.00 sec 28.0 MBytes 235 Mbits/sec
[SUM] 9.00-10.00 sec 112 MBytes 940 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 273 MBytes 229 Mbits/sec sender
[ 4] 0.00-10.00 sec 273 MBytes 229 Mbits/sec receiver
[ 6] 0.00-10.00 sec 273 MBytes 229 Mbits/sec sender
[ 6] 0.00-10.00 sec 273 MBytes 229 Mbits/sec receiver
[ 8] 0.00-10.00 sec 273 MBytes 229 Mbits/sec sender
[ 8] 0.00-10.00 sec 273 MBytes 229 Mbits/sec receiver
[ 10] 0.00-10.00 sec 272 MBytes 228 Mbits/sec sender
[ 10] 0.00-10.00 sec 272 MBytes 228 Mbits/sec receiver
[SUM] 0.00-10.00 sec 1.06 GBytes 915 Mbits/sec sender
[SUM] 0.00-10.00 sec 1.06 GBytes 914 Mbits/sec receiver
If your results are even faster, consider yourself lucky . Feel free to post your results (please iperf3 results only).
RE: Howto test and tune Gigabit Networking (1000M) - MarkHaysHarris777 - 08-21-2016
I moved this thread to the Ethernet sub-forum; also, the thread has been made 'sticky'.
RE: Howto test and tune Gigabit Networking (1000M) - androsch - 08-21-2016
Hi there,
just made a short test with my actual environment again including the netwrok-script from longsleep with his actual kernel.
Code: Switching the Pine64+ to a fixed GbE-port on my FritzBox 7490 acting as client:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 24.8 MBytes 20.8 Mbits/sec 31 sender
[ 4] 0.00-10.00 sec 24.7 MBytes 20.7 Mbits/sec receiver
[ 6] 0.00-10.00 sec 25.6 MBytes 21.5 Mbits/sec 31 sender
[ 6] 0.00-10.00 sec 25.5 MBytes 21.4 Mbits/sec receiver
[ 8] 0.00-10.00 sec 33.9 MBytes 28.5 Mbits/sec 19 sender
[ 8] 0.00-10.00 sec 33.8 MBytes 28.3 Mbits/sec receiver
[ 10] 0.00-10.00 sec 28.5 MBytes 23.9 Mbits/sec 28 sender
[ 10] 0.00-10.00 sec 28.3 MBytes 23.7 Mbits/sec receiver
[SUM] 0.00-10.00 sec 113 MBytes 94.6 Mbits/sec 109 sender
[SUM] 0.00-10.00 sec 112 MBytes 94.1 Mbits/sec receiver
So about 100 Mbits as expected with a 100Mb server, but 109 retries!
Same connection, but setting down the Pine64 to a fixed 100Mb port:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 28.2 MBytes 23.7 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 28.0 MBytes 23.5 Mbits/sec receiver
[ 6] 0.00-10.00 sec 28.1 MBytes 23.6 Mbits/sec 0 sender
[ 6] 0.00-10.00 sec 27.9 MBytes 23.4 Mbits/sec receiver
[ 8] 0.00-10.00 sec 28.3 MBytes 23.8 Mbits/sec 0 sender
[ 8] 0.00-10.00 sec 28.1 MBytes 23.6 Mbits/sec receiver
[ 10] 0.00-10.00 sec 28.3 MBytes 23.8 Mbits/sec 0 sender
[ 10] 0.00-10.00 sec 28.2 MBytes 23.6 Mbits/sec receiver
[SUM] 0.00-10.00 sec 113 MBytes 94.8 Mbits/sec 0 sender
[SUM] 0.00-10.00 sec 112 MBytes 94.1 Mbits/sec receiver
same speed with not a single retry!
Same connection with GbE port, but Pine64 this time acting as server:
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.05 sec 1008 KBytes 822 Kbits/sec sender
[ 5] 0.00-10.05 sec 901 KBytes 735 Kbits/sec receiver
So this is ridiculous even with a 100Mb client.
Switching the Pine64 back to a fixed 100Mb port acting as server:
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.06 sec 113 MBytes 94.3 Mbits/sec sender
[ 5] 0.00-10.06 sec 113 MBytes 94.3 Mbits/sec receiver
Will setup a second connection with my GbE-Win10 pc later and post the results also.
BTW: Also use a fixed MAC-addr with the leading 00:06:dc numbers and disabled ipv6 and avahidaemon, if somebody still thinks this makes really a difference!
Still no improvement and i can confirm my Fritzbox (FritzOS 6.60, also actual version) is capable to handle GbE with some other PCs i'm using.
RE: Howto test and tune Gigabit Networking (1000M) - longsleep - 08-21-2016
(08-21-2016, 10:46 AM)androsch Wrote: BTW: Also use a fixed MAC-addr with the leading 00:06:dc numbers and disabled ipv6 and avahidaemon, if somebody still thinks this makes really a difference!
Still no improvement and i can confirm my Fritzbox (FritzOS 6.60, also actual version) is capable to handle GbE with some other PCs i'm using.
Yes this is what i expected. That is the board you sent me a couple of months ago yes? As it worked fine for my network it is something in your network / some incompatibility.
Btw, i got myself the cheapest gigabit switch i could find on Amazon to make the numbers from above: NETGEAR GS605-400PES (which is aroud 20EUR).
RE: Howto test and tune Gigabit Networking (1000M) - androsch - 08-21-2016
(08-21-2016, 11:12 AM)longsleep Wrote: (08-21-2016, 10:46 AM)androsch Wrote: BTW: Also use a fixed MAC-addr with the leading 00:06:dc numbers and disabled ipv6 and avahidaemon, if somebody still thinks this makes really a difference!
Still no improvement and i can confirm my Fritzbox (FritzOS 6.60, also actual version) is capable to handle GbE with some other PCs i'm using.
Yes this is what i expected. That is the board you sent me a couple of months ago yes? As it worked fine for my network it is something in your network / some incompatibility.
Btw, i got myself the cheapest gigabit switch i could find on Amazon to make the numbers from above: NETGEAR GS605-400PES (which is aroud 20EUR).
Just finished some further testing with my 2 Win10 PCs with GbE-ports:
Code: Both connected with 1GbE ports:
One acting as server:
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.06 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.06 sec 204 MBytes 170 Mbits/sec receiver
[ 7] 0.00-10.06 sec 0.00 Bytes 0.00 bits/sec sender
[ 7] 0.00-10.06 sec 196 MBytes 164 Mbits/sec receiver
[ 9] 0.00-10.06 sec 0.00 Bytes 0.00 bits/sec sender
[ 9] 0.00-10.06 sec 198 MBytes 165 Mbits/sec receiver
[ 11] 0.00-10.06 sec 0.00 Bytes 0.00 bits/sec sender
[ 11] 0.00-10.06 sec 194 MBytes 162 Mbits/sec receiver
[SUM] 0.00-10.06 sec 0.00 Bytes 0.00 bits/sec sender
[SUM] 0.00-10.06 sec 792 MBytes 660 Mbits/sec receiver
the other acting as server:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 190 MBytes 159 Mbits/sec sender
[ 4] 0.00-10.00 sec 190 MBytes 159 Mbits/sec receiver
[ 6] 0.00-10.00 sec 165 MBytes 139 Mbits/sec sender
[ 6] 0.00-10.00 sec 165 MBytes 139 Mbits/sec receiver
[ 8] 0.00-10.00 sec 195 MBytes 163 Mbits/sec sender
[ 8] 0.00-10.00 sec 195 MBytes 163 Mbits/sec receiver
[ 10] 0.00-10.00 sec 130 MBytes 109 Mbits/sec sender
[ 10] 0.00-10.00 sec 130 MBytes 109 Mbits/sec receiver
[SUM] 0.00-10.00 sec 680 MBytes 570 Mbits/sec sender
[SUM] 0.00-10.00 sec 680 MBytes 570 Mbits/sec receiver
So my GbE is not too quick, but both are connected during this test via remote desktop. One is in the basement, connected to the Fritzbox (port with 1GbE), the Fritzbox to the switch (TP-Link, about 5m cable) and then with a very long cable (about 30m) to the 3rd floor in a D-Link DIR 645 router just acting as additional wifi router for the 3rd floor. The other PC is connected with a short 3m cable to the DIR-645. So this proves (at least from my point of view) even with this long and maybe not perfect connection, there is a GbE connection capable to handle at least 570 - 660 Mbits!
Using this connection (just plugging the cable from the Fritzbox from the pc to the Pine64+, this is what we get (Pine64 as server):
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.01 sec 693 KBytes 567 Kbits/sec sender
[ 4] 0.00-10.01 sec 621 KBytes 508 Kbits/sec receiver
[ 6] 0.00-10.01 sec 441 KBytes 361 Kbits/sec sender
[ 6] 0.00-10.01 sec 365 KBytes 299 Kbits/sec receiver
[ 8] 0.00-10.01 sec 756 KBytes 619 Kbits/sec sender
[ 8] 0.00-10.01 sec 656 KBytes 537 Kbits/sec receiver
[ 10] 0.00-10.01 sec 945 KBytes 774 Kbits/sec sender
[ 10] 0.00-10.01 sec 875 KBytes 716 Kbits/sec receiver
[SUM] 0.00-10.01 sec 2.77 MBytes 2.32 Mbits/sec sender
[SUM] 0.00-10.01 sec 2.46 MBytes 2.06 Mbits/sec receiver
Pine64 acting as client:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 9.47 MBytes 7.95 Mbits/sec 5 sender
[ 4] 0.00-10.00 sec 9.37 MBytes 7.86 Mbits/sec receiver
[ 6] 0.00-10.00 sec 10.2 MBytes 8.56 Mbits/sec 44 sender
[ 6] 0.00-10.00 sec 10.1 MBytes 8.48 Mbits/sec receiver
[ 8] 0.00-10.00 sec 9.82 MBytes 8.23 Mbits/sec 28 sender
[ 8] 0.00-10.00 sec 9.71 MBytes 8.14 Mbits/sec receiver
[ 10] 0.00-10.00 sec 11.0 MBytes 9.20 Mbits/sec 13 sender
[ 10] 0.00-10.00 sec 10.8 MBytes 9.09 Mbits/sec receiver
[SUM] 0.00-10.00 sec 40.5 MBytes 33.9 Mbits/sec 90 sender
[SUM] 0.00-10.00 sec 40.0 MBytes 33.6 Mbits/sec receiver
and now?
Got similar results before even with connecting one PC and the pine directly via the FritzBox or the TP-Link switch or the DIR-645, so i can not imagine any other influence than the Pine itself!
As stated again will be very interested if someone figures out the real reason for those problems with the Pine64, but for me its just working with a fixed 100Mbs port and then its stable and reliable with about 95Mbits.
Have a nice evening all together!
BTW: Yes, its the board you tested some time ago.
(08-21-2016, 11:12 AM)longsleep Wrote: Btw, i got myself the cheapest gigabit switch i could find on Amazon to make the numbers from above: NETGEAR GS605-400PES (which is aroud 20EUR).
Have ordered this switch today and will connect my Pine64+ with this switch and all of my GbE-PCs again (each separately and without any other ports active and new cables also). Will take some time (delivery till 24th), so will come back then...
Maybe we get this sorted
RE: Howto test and tune Gigabit Networking (1000M) - HenryD - 08-22-2016
Greetings,
Pre and post tuned network stats.
Pine64+ (2GB) <> TP-Link <> Workstation
Pre:
Code: :~$ iperf3 -c 192.168.1.163 -t 30
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-30.00 sec 1.83 GBytes 524 Mbits/sec 2755 sender
[ 4] 0.00-30.00 sec 1.83 GBytes 524 Mbits/sec receiver
Post:
Code: :~$ iperf3 -c 192.168.1.163 -t 30
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-30.00 sec 3.11 GBytes 891 Mbits/sec 382 sender
[ 4] 0.00-30.00 sec 3.11 GBytes 891 Mbits/sec receiver
Thanks.
RE: Howto test and tune Gigabit Networking (1000M) - ubuntuGuy - 08-22-2016
I tested it with my WNDR3700 router running openwrt and here is my results:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-30.00 sec 884 MBytes 247 Mbits/sec 1 sender
[ 4] 0.00-30.00 sec 883 MBytes 247 Mbits/sec receiver
seems to be slower than what it is supposed to be. any suggestions?
Edit : never mind. did the same test from my desktop to router and got similar result, so it should be my network settings. will try to figure it out.
RE: Howto test and tune Gigabit Networking (1000M) - androsch - 08-24-2016
(08-21-2016, 11:31 AM)androsch Wrote: Have ordered this switch today and will connect my Pine64+ with this switch and all of my GbE-PCs again (each separately and without any other ports active and new cables also). Will take some time (delivery till 24th), so will come back then...
Maybe we get this sorted
some results with the new switch:
Code: Pine64 as client, only connected via the new switch to the destop:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.01 sec 470 MBytes 394 Mbits/sec 254 sender
[ 4] 0.00-10.01 sec 470 MBytes 394 Mbits/sec receiver
acting as server, same bad speed again:
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.05 sec 693 KBytes 565 Kbits/sec sender
[ 5] 0.00-10.05 sec 606 KBytes 494 Kbits/sec receiver
BUT: while i had to change my network config to give the pine and the desktop a fixed ip for the test, i got some errors during ethtool or ifup/ifdown, so it seems there is something messed up with my network config on the Pine. Could not yet figure it out, cause only chage i made was on
/etc/network/interfaces:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
# Disable wlan1 by default (8723bs has two intefaces)
iface wlan1 inet manual
auto eth0
iface eth0 inet dhcp
# mtu 1492
#iface eth0 inet static
# address 192.168.178.63
# netmask 255.255.255.0
# broadcast 192.168.178.255
# network 192.168.178.0
# mtu 1492
# gateway 192.168.178.1
For the switch as standalon i commented the dhcp-section and activated the fixed ip-part, same here in
/etc/network/interfaces.d/eth0
auto eth0
iface eth0 inet dhcp
## mtu 1492
#iface eth0 inet static
# address 192.168.178.63
# netmask 255.255.255.0
# broadcast 192.168.178.255
# network 192.168.178.0
# mtu 1492
# gateway 192.168.178.1
mtu 1492 is always disabled, that was something i tried earlier...
With dhcp the interface eth0 is coming up and the Pine connects to the network.
With fixed address it boots (had to check with a monitor attached, normally it's headless), but the interface only comes up after logging in at the terminal and calling ifup eth0 as root. It gives a warning (didn't copy that unfortunately), but afterwards the eth-interface shows up (LEDs are blinking) and ifconfig shows a valid ip.
Will try again to use a brand new image from longsleep and repeat those tests. Maybe i messed up some configs by testing and trial-and-error in the beginning....
At least connected it again with my normal switch and it still gives about 400-500 mbits as client, but server is still poor. So its capable to do GbE, just need to sort out why only as client and fix the server part...
Will keep you posted.
RE: Howto test and tune Gigabit Networking (1000M) - androsch - 08-24-2016
(08-24-2016, 11:41 AM)androsch Wrote: With fixed address it boots (had to check with a monitor attached, normally it's headless), but the interface only comes up after logging in at the terminal and calling ifup eth0 as root. It gives a warning (didn't copy that unfortunately), but afterwards the eth-interface shows up (LEDs are blinking) and ifconfig shows a valid ip.
Will try again to use a brand new image from longsleep and repeat those tests. Maybe i messed up some configs by testing and trial-and-error in the beginning....
At least connected it again with my normal switch and it still gives about 400-500 mbits as client, but server is still poor. So its capable to do GbE, just need to sort out why only as client and fix the server part...
Will keep you posted.
OK guys, here to come my last results:
made a new sdcard with latest image from longsleep, attached fixed ip and mac-addr, updated to latest kernel and uboot, run all helper-scripts including network-tuning and just connected the pine and my desktop via 2 short cable to the new switch (same model longsleep mentioned). No other port connected, so only those two on 2 ports of the switch.
Speed for iperf3 as client again was good with max. 872mbits, about 650 mbits avarage, but server speed from the pine still is:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.02 sec 567 KBytes 464 Kbits/sec sender
[ 4] 0.00-10.02 sec 503 KBytes 411 Kbits/sec receiver
The problems with connecting above were gone, just made only /etc/network/interfaces smaller (no definitions, only disabled wlan1) and attached a fixed 100 mbs speed full duplex via ethtool in the /etc/network/interfaces.d/eth0 file.
Booting works still fine, pine 64 reduces speed to 100mbs even on a 1000mbs port on my normal switch and works still ok with this fixed and reduced speed, but no GbE even with longsleeps switch and new basic image. So i'm running out of ideas and options here by myself and hope for any ideas?
Good evening
RE: Howto test and tune Gigabit Networking (1000M) - androsch - 08-25-2016
OK guys, here to come something for you all to think about:
Could not stop thinking about longsleeps success to have about full GbE speed with my board while i'm not capable to do this.
So i used my laptop to boot via my PXE-server and start a actual linux session with it, not Win10.
ubuntu-gnome@ubuntu-gnome:~$ uname -a
Linux ubuntu-gnome 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Here i could also use a iperf and an iperf3 server for the pine64 and connect as iperf and iperf3 client also. Something interesting:
Code: ubuntu-gnome@ubuntu-gnome:~$ iperf -c pine64.home.lan -P 4
------------------------------------------------------------
Client connecting to pine64.home.lan, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 6] local 192.168.178.200 port 33622 connected with 192.168.178.63 port 5001
[ 3] local 192.168.178.200 port 33616 connected with 192.168.178.63 port 5001
[ 4] local 192.168.178.200 port 33618 connected with 192.168.178.63 port 5001
[ 5] local 192.168.178.200 port 33620 connected with 192.168.178.63 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 251 MBytes 210 Mbits/sec
[ 6] 0.0-10.0 sec 248 MBytes 208 Mbits/sec
[ 4] 0.0-10.0 sec 240 MBytes 201 Mbits/sec
[ 5] 0.0-10.0 sec 216 MBytes 181 Mbits/sec
[SUM] 0.0-10.0 sec 956 MBytes 801 Mbits/sec
But running iperf3:
ubuntu-gnome@ubuntu-gnome:~$ iperf3 -c pine64.home.lan -P 4
Connecting to host pine64.home.lan, port 5201
[ 4] local 192.168.178.200 port 54036 connected to 192.168.178.63 port 5201
[ 6] local 192.168.178.200 port 54038 connected to 192.168.178.63 port 5201
[ 8] local 192.168.178.200 port 54040 connected to 192.168.178.63 port 5201
[ 10] local 192.168.178.200 port 54042 connected to 192.168.178.63 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 161 KBytes 1.32 Mbits/sec 17 2.83 KBytes
[ 6] 0.00-1.00 sec 174 KBytes 1.42 Mbits/sec 26 2.83 KBytes
[ 8] 0.00-1.00 sec 157 KBytes 1.29 Mbits/sec 23 2.83 KBytes
[ 10] 0.00-1.00 sec 215 KBytes 1.76 Mbits/sec 29 2.83 KBytes
[SUM] 0.00-1.00 sec 707 KBytes 5.79 Mbits/sec 95
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 1.00-2.00 sec 107 KBytes 880 Kbits/sec 21 1.41 KBytes
[ 6] 1.00-2.00 sec 318 KBytes 2.61 Mbits/sec 51 5.66 KBytes
[ 8] 1.00-2.00 sec 146 KBytes 1.19 Mbits/sec 25 2.83 KBytes
[ 10] 1.00-2.00 sec 106 KBytes 869 Kbits/sec 16 2.83 KBytes
[SUM] 1.00-2.00 sec 677 KBytes 5.55 Mbits/sec 113
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 2.00-3.00 sec 69.3 KBytes 568 Kbits/sec 10 2.83 KBytes
[ 6] 2.00-3.00 sec 206 KBytes 1.69 Mbits/sec 34 2.83 KBytes
[ 8] 2.00-3.00 sec 204 KBytes 1.67 Mbits/sec 23 2.83 KBytes
[ 10] 2.00-3.00 sec 109 KBytes 892 Kbits/sec 20 2.83 KBytes
[SUM] 2.00-3.00 sec 588 KBytes 4.82 Mbits/sec 87
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 3.00-4.00 sec 188 KBytes 1.54 Mbits/sec 21 2.83 KBytes
[ 6] 3.00-4.00 sec 191 KBytes 1.56 Mbits/sec 24 1.41 KBytes
[ 8] 3.00-4.00 sec 91.9 KBytes 753 Kbits/sec 18 2.83 KBytes
[ 10] 3.00-4.00 sec 334 KBytes 2.73 Mbits/sec 42 2.83 KBytes
[SUM] 3.00-4.00 sec 805 KBytes 6.59 Mbits/sec 105
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 4.00-5.00 sec 60.8 KBytes 498 Kbits/sec 11 2.83 KBytes
[ 6] 4.00-5.00 sec 63.6 KBytes 521 Kbits/sec 14 1.41 KBytes
[ 8] 4.00-5.00 sec 129 KBytes 1.05 Mbits/sec 18 1.41 KBytes
[ 10] 4.00-5.00 sec 144 KBytes 1.18 Mbits/sec 22 2.83 KBytes
[SUM] 4.00-5.00 sec 397 KBytes 3.25 Mbits/sec 65
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 5.00-6.00 sec 70.7 KBytes 579 Kbits/sec 21 2.83 KBytes
[ 6] 5.00-6.00 sec 127 KBytes 1.04 Mbits/sec 20 1.41 KBytes
[ 8] 5.00-6.00 sec 127 KBytes 1.04 Mbits/sec 25 1.41 KBytes
[ 10] 5.00-6.00 sec 63.6 KBytes 521 Kbits/sec 9 1.41 KBytes
[SUM] 5.00-6.00 sec 389 KBytes 3.19 Mbits/sec 75
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 6.00-7.00 sec 212 KBytes 1.74 Mbits/sec 39 7.07 KBytes
[ 6] 6.00-7.00 sec 127 KBytes 1.04 Mbits/sec 17 2.83 KBytes
[ 8] 6.00-7.00 sec 63.6 KBytes 521 Kbits/sec 14 1.41 KBytes
[ 10] 6.00-7.00 sec 63.6 KBytes 521 Kbits/sec 14 2.83 KBytes
[SUM] 6.00-7.00 sec 467 KBytes 3.82 Mbits/sec 84
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 7.00-8.00 sec 156 KBytes 1.27 Mbits/sec 31 2.83 KBytes
[ 6] 7.00-8.00 sec 63.6 KBytes 521 Kbits/sec 12 1.41 KBytes
[ 8] 7.00-8.00 sec 141 KBytes 1.16 Mbits/sec 23 2.83 KBytes
[ 10] 7.00-8.00 sec 76.4 KBytes 626 Kbits/sec 26 5.66 KBytes
[SUM] 7.00-8.00 sec 437 KBytes 3.58 Mbits/sec 92
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 8.00-9.00 sec 150 KBytes 1.23 Mbits/sec 29 2.83 KBytes
[ 6] 8.00-9.00 sec 63.6 KBytes 521 Kbits/sec 13 1.41 KBytes
[ 8] 8.00-9.00 sec 67.9 KBytes 556 Kbits/sec 18 5.66 KBytes
[ 10] 8.00-9.00 sec 257 KBytes 2.11 Mbits/sec 39 2.83 KBytes
[SUM] 8.00-9.00 sec 539 KBytes 4.41 Mbits/sec 99
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 9.00-10.00 sec 66.5 KBytes 545 Kbits/sec 14 1.41 KBytes
[ 6] 9.00-10.00 sec 338 KBytes 2.77 Mbits/sec 36 4.24 KBytes
[ 8] 9.00-10.00 sec 150 KBytes 1.23 Mbits/sec 38 4.24 KBytes
[ 10] 9.00-10.00 sec 63.6 KBytes 521 Kbits/sec 12 1.41 KBytes
[SUM] 9.00-10.00 sec 618 KBytes 5.06 Mbits/sec 100
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 1.21 MBytes 1.02 Mbits/sec 214 sender
[ 4] 0.00-10.00 sec 1.15 MBytes 964 Kbits/sec receiver
[ 6] 0.00-10.00 sec 1.63 MBytes 1.37 Mbits/sec 247 sender
[ 6] 0.00-10.00 sec 1.42 MBytes 1.19 Mbits/sec receiver
[ 8] 0.00-10.00 sec 1.25 MBytes 1.05 Mbits/sec 225 sender
[ 8] 0.00-10.00 sec 1.18 MBytes 988 Kbits/sec receiver
[ 10] 0.00-10.00 sec 1.40 MBytes 1.17 Mbits/sec 229 sender
[ 10] 0.00-10.00 sec 1.33 MBytes 1.11 Mbits/sec receiver
[SUM] 0.00-10.00 sec 5.49 MBytes 4.61 Mbits/sec 915 sender
[SUM] 0.00-10.00 sec 5.07 MBytes 4.25 Mbits/sec receiver
Of course the pine also was set up as server in iperf resp. iperf3 mode (iperf[3] -s).
So while longsleep also only checked my board with iperf only (see http://forum.pine64.org/showthread.php?tid=1084&pid=11838#pid11838), i wonder whether he assumed the 'good' speed it shows with iperf to be fine and didn't try iperf3? @longsleep: Can you remember?
So maybe this also is part of the problem, iperf shows perfect speed and iperf3 not!
Can not test the real speed other than via iperf(3), because of the PXE-server there is no real disk on the host to copy to with the Pine as server (PXE-server is only a 100mbs machine), but at least the file (1.2GB from a samba share on the pine) copied with about 10.5MB/s, so about 100mbits, thats at least full speed for the PXE-host...
Trying to copy 3 samba-share files from the Pine to an also GbE network drive had about 13MB/s speed, so more than 100mbs, writing them back to the pine only had about 200kb/s, seems also very slow, but the disc at the pine is a SD-card, so the speed of this samba file test mainly depends on the reading/writing speed of the card!
Maybe this also helps to figure something out? Maybe the problem is caused by Win10 as client/server also? Can anybody also try to check his speeds with iperf and iperf3?
|