This is my first time setting up a Raspberry Pi4 (8GB). Before, I have used a RPi 3B for some other things. From what i have read is, that IO performance should be a lot better on the RPi4, as with the RPi3B. But i get the same speeds as before. I have setup the following:
- Installed Raspbian Lite (64bit)
- enabled SFTP/SSH
- Setup a user for SFTP only access, with home on a connected USB HDD
- the USB HDD is connected to one of the USB3 ports
- This is the same setup on the RPi3B
When I now try to start to copy a 2GB file from my Laptop via LAN, i get in both cases a max of 11.6 or 11,5MB/s. But according to articles like this (https://www.jeffgeerling.com/blog/2021/raspberry-pi-25-gbps-16-tb-omv-nas-setup-and-performance), it should be much faster. Is there some secret, or whats the problem?
BTW: The Laptop runs on Manjaro Linux, where i start the transfer, there is no Windows available.
From the speed you mention this looks a lot like 100mbit, is there perhaps any device in the chain that only has a 100mb lan port? The pi should have gigabit
Not really. There is only a Switch with GBit and standard FritzBox 7590 as a Router. The Switch is connected to the Router on the WAN Port as it should be (if i remember right) and the RPi4 to one of the Switch ports. The Laptop is directly connected to the router. The cable is a standard GBit cable. There should be nothing with 100MBit.
The switch should be connected to the router on the out ports (1 to 4, any of them). Then you connect the devices to the switch.
Check your connnection types, something is using Fast Ethernet instead of Gigabit.
Versuch Mal einen anderen LAN Port für deinen Switch an der Fritzbox, es muss nicht WAN sein - der Port wird in diesem Fall sowieso nur einfach als normaler LAN Port fungieren. Ich habe schonmal gelesen das es da manchmal Probleme gibt:
https://www.computerbase.de/forum/threads/fritzbox-7590-wan-port-als-lan-port-nur-100mbit-s.1997430/
Sorry ich gehe davon aus du sprichst deutsch, da du eine Fritzbox einsetzt :D
Alles gut :-) Das Problem ist gelöst. Die Dachdecker haben das LAN Kabel beschädigt. Werd mal ein Neues am Montag ordern. Ich hasse es nur, das Kabel zu verlegen. Das liegt teilweise unter dem Laminat im Flur, was ich mühsam verlegt habe. Was solls, da muss ich wohl durch.
Haha ja gut, immerhin ist dann klar woran es liegt. Kann so trivial sein…
That file that you are reading is it stored sequential on that HDD ? Might be that your HDD is the limiting factor here. Either the HDD itself or the cable used to connect to USB.
Maybe you want to test the performance of your HDD first. My suggestion is to connect HDD to your Laptop and Raspi and perform the following tests to get a first picture. In following commands replace
/dev/sda
with your actual device.Test with cache:
sudo hdparm -tT /dev/sda
Test without cache:
sudo hdparm -tT --direct /dev/sda
Taken from here [German]
Maybe you want to test the performance of your HDD first. My suggestion is to connect your HDD to your Laptop and perform the following tests and then do the same for the Raspi. So you can get a first picture about the speed and a comparison between Laptop and Raspi. In the following commands, please replace
/dev/sda
with your actual device.Test with cache:
sudo hdparm -tT /dev/sda
Test without cache:
sudo hdparm -tT --direct /dev/sda
Taken from here [German]
(sorry have accidentely deleted my post)
The speed looks fine for me on the Laptop itself:
/dev/sda: Timing cached reads: 28080 MB in 1.98 seconds = 14161.28 MB/sec Timing buffered disk reads: 448 MB in 3.02 seconds = 148.55 MB/sec
/dev/sda: Timing O_DIRECT cached reads: 604 MB in 2.00 seconds = 301.42 MB/sec Timing O_DIRECT disk reads: 454 MB in 3.02 seconds = 150.36 MB/sec
On the Pi itself i get:
/dev/sda: Timing cached reads: 1974 MB in 2.00 seconds = 988.54 MB/sec Timing buffered disk reads: 196 MB in 3.02 seconds = 64.91 MB/sec
/dev/sda: Timing O_DIRECT cached reads: 122 MB in 2.01 seconds = 60.64 MB/sec Timing O_DIRECT disk reads: 194 MB in 3.03 seconds = 64.03 MB/sec
This also much above the speed, i got, when i transfer files via SFTP/SCP.
I have tested also iperf and got:
0.0000-10.2100 sec 113 MBytes 93.1 Mbits/sec
It seems like this is really somewhere limiting to 100MBit.
It seems the limiting factor is the switch or cable. If i connect the Rpi to the router directly, i get:
0.0000-10.1222 sec 281 MBytes 233 Mbits/sec
Its the cable. After changing the cable between the Switch and the Router, i got
iperf
test up to:0.0000-10.0416 sec 1.09 GBytes 932 Mbits/sec
.We had some workmen in the house a few weeks ago. Apparently, they damaged the cable. The test cable was unfortunately too short for permanent use, but it was enough for testing. I now get an upload of 65MB/sec on an average. This is about the same as the limit I had already determined through
hdparm
on the RPi4. I don’t know, whyhdparm
is faster directly on the laptop, maybe the USB Controller is not the best on the RPi4. But anything is better than 11MB/sec.The situation is different when the laptop is only connected to the network via WiFi. Here I get a maximum of 28MB/sec. I have not yet found a solution how this could be faster.