![]() |
Slow ethernet in linux - Printable Version +- PINE64 (https://forum.pine64.org) +-- Forum: PINE A64(+) (https://forum.pine64.org/forumdisplay.php?fid=4) +--- Forum: Linux on Pine A64(+) (https://forum.pine64.org/forumdisplay.php?fid=6) +--- Thread: Slow ethernet in linux (/showthread.php?tid=669) |
RE: Slow ethernet in linux - baryluk - 04-23-2016 Hi, I do have the same problem. I am getting around 1MB/s, with 2MB/s peak (wget -O /dev/null from internet for specific big file), when on other computer on the same network I am getting 30-45MB/s, and maybe 90MB/s during good time of a day. I will probably do some testing on local network strictly, but I done some ssh tests, and it isn't looking pretty. Forcing to 100 autoneg off using ethtools, make it even worse. I am getting 50-100KB/s! Forcing to 1000 autoneg off makes it do not work at all. ip -s l shows no errors: 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 7a:6e:63:xx:xx:xx brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 2277867123 3481188 0 0 0 0 TX: bytes packets errors dropped carrier collsns 6628900774 4981672 0 0 0 0 In dmesg I do see a lot of these errors, every few seconds, especially during heavy network use [21189.979887] RTL871X: nolinked power save leave [21191.275452] RTL871X: nolinked power save enter Ok. Somehow magically it improved. echo on > /sys/class/net/eth0/power/control made me able to copy data over ssh from other Linux box (capable of easily doing 100MB/s), with about 22MB/s (tested using 1.2GB file using dd bs=64k from sshfs file). I turned it back to auto: echo auto > /sys/class/net/eth0/power/control and it shows now 25.6MB/s Not bad. RE: Slow ethernet in linux - piahoo - 04-28-2016 (04-23-2016, 03:11 PM)baryluk Wrote: Hi, I do have the same problem. I am getting around 1MB/s, with 2MB/s peak (wget -O /dev/null from internet for specific big file), when on other computer on the same network I am getting 30-45MB/s, and maybe 90MB/s during good time of a day. I will probably do some testing on local network strictly, but I done some ssh tests, and it isn't looking pretty.Hi, I have same issue as you, with autoneg on, i have only 3-5kb/s 100mb autoneg off 100 improved it to 120kb/s, and autoneg off 1000 is not working at all i tried echo on > /sys/class/net/eth0/power/control as you suggested, but its not chaning anything, probably not related to the issue. did you change anything else in the meantime? can you tell me what kernel do you use? pine64user@debianpine64:~/Downloads$ uname -a Linux debianpine64 3.10.65-5-pine64-longsleep #19 SMP PREEMPT Fri Apr 15 19:55:17 CEST 2016 aarch64 GNU/Linux do anyone know working fix for terribly slow ethernet? RE: Slow ethernet in linux - tkaiser - 04-28-2016 (04-23-2016, 03:11 PM)baryluk Wrote: made me able to copy data over ssh from other Linux box (capable of easily doing 100MB/s), with about 22MB/s (tested using 1.2GB file using dd bs=64k from sshfs file) So you did not test network speed but CPU encryption performance instead. Why exactly? RE: Slow ethernet in linux - piahoo - 04-28-2016 (04-28-2016, 09:45 AM)tkaiser Wrote:(04-23-2016, 03:11 PM)baryluk Wrote: made me able to copy data over ssh from other Linux box (capable of easily doing 100MB/s), with about 22MB/s (tested using 1.2GB file using dd bs=64k from sshfs file) to test the actual speed, i would rather use speedtest_cli Code: sudo wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py where i have 2Mbit/s, which, for some reason is 2-4x more than any wget command (60-120kb/s) on the other host, speedtest result is 120Mbit/s ![]() RE: Slow ethernet in linux - tkaiser - 04-28-2016 (04-28-2016, 12:55 PM)piahoo Wrote: to test the actual speed, i would rather use speedtest_cli Also wrong ![]() You should try to isolate problems. Get iperf/iperf3/netperf and test between machines on the LAN. Regarding the many reports of really slow Ethernet performance I still wonder whether that's not in reality 'Internet performance' instead (maybe caused by mismatching MTU settings between Linux kernel running on Pine64 and the router -- it's known that Allwinner's BSP Ethernet driver is somewhat crappy -- at least not tested that much). RE: Slow ethernet in linux - baryluk - 04-28-2016 I tested ssh, because I had no time to setup unencrypted local server of any kind. The information is still useful. Also during the test non of the cores hits 100%, so I wasn't exactly CPU constrained I think. Maybe some issues with IRQs. I also said that I used wget over unencrypted http from internet (and mind you I do have 1Gbps internet and router capable of doing that, with others computer hitting 90MB/s for the same big file download). I do not know what I have done, but playing with power/control file made it faster. I will reboot the board and see if it is slow again. RE: Slow ethernet in linux - ak_hepcat - 04-29-2016 using netperf and multiple streams, courtesy of the wrapper script: https://github.com/akhepcat/BettererSpeedTest Code: qdisc is not enabled: And then I enable qdisc, via custom wrapper script: Code: root@p64:~# tc qdisc show as you can see, my queuing still needs some tweaking to get the download speeds to recover to pre-queuing speeds, but the upload speeds are quite nice. RE: Slow ethernet in linux - longsleep - 04-29-2016 I recently added all the network scheduling modules to my Kernel configuration (https://github.com/longsleep/linux-pine64/commit/85c49a4acd68915eb14baed5f3c4de99631139ce). Care to share your bootstrap script to setup qdisc? RE: Slow ethernet in linux - ak_hepcat - 04-29-2016 as mentioned in the readme, this was originally cribbed from the gentoo wiki, and then i've extended it to make it easier for me to use. https://github.com/akhepcat/qdisc ** followup ** If i only enable queuing on the upload side, my results are about 900d/800u mb/s, which is good enough for me. :-) RE: Slow ethernet in linux - baryluk - 05-01-2016 netperf tests with standard pfifo_fast Code: $ netperf -H wielkiczarny.local -l 60 -t TCP_STREAM Code: $ netperf -H wielkiczarny.local -l 60 -t TCP_STREAM Code: $ netperf -H wielkiczarny.local -l 60 -t TCP_MAERTS Code: $ netperf -H wielkiczarny.local -l 60 -t UDP_STREAM Code: $ netperf -H wielkiczarny.local -l 60 -t UDP_RR Code: $ ip l show dev eth0 Still It is unclear to me why wget from Internet is pretty slow at ~4-6MB/s, and maks 10MB/s at the start of download. |