Take the 2-minute tour ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

I have a Model B Raspberry Pi, attached to a wired network. It has Raspbmc installed. It also has an expernal USB drive for storage.

I also have a laptop, attached to a wireless network. These two networks are connected.

When I download something using the Pi, it maxes out my internet connection (approx 900 kb/s). The USB drive can easily keep up with this.

When I download something using my laptop, it maxes out my internet connection as well.

So both devices are able to achieve these network speeds. However, when I copy something from my laptop to my Pi, it maxes out at about 160 kb/s. For copying, I use WinSCP.

Even if the router were very inefficient, I would expect at least 50% of the speed the machines can download with.

Why is this speed so much lower? How can I identify what's killing my speed here?

share|improve this question
    
Can you look at the Command top? How much CPU power is left when transferring the file? –  Laurence Dec 7 '12 at 14:43

2 Answers 2

up vote 1 down vote accepted

Since you use WinSCP, I assume that the transfer is secured by SSH. I heard that SSH can be CPU-intensive and can slow down your transfer.

To know whether SSH is guilty, I suggest to test the raw data transfer speed between your laptop and your RPi with iperf.

Install iperf on both your laptop and your RPi. One will be the server and the other one, the client.

First, on the server, run:

$ iperf -s

Then on the client, run:

$ iperf -c <server's IP>
share|improve this answer
    
Thanks, I'll have a look when I get home! The connection WinSCP makes is indeed secured by SSH, so it might well be. –  René Wolferink Dec 6 '12 at 15:15
    
Apparantly, the CPU was the bottleneck. Transfers going up to nearly 2MB/s, probably only slowed down by my wifi connection now. Thanks! –  René Wolferink Dec 8 '12 at 15:43
    
@RenéWolferink: Thanks for your feedback. Can you confirm that when you use WinSCP/SSH, the RPi's CPU is fully loaded (using top as Laurence suggested)? –  Morgan Courbet Dec 8 '12 at 21:07
    
I didn't check the CPU, I tried unecrypted transfer, but I'll have a look when I get home again. Btw, I used nethogs for measuring transfer speeds, nice tool. –  René Wolferink Dec 10 '12 at 8:53

SSH is a cryptographic network protocol for secure data communication, I guess that the CPU of the PI is not powerful enough to get high speeds. You could look at the output of the command "top". That way you can determine if the CPU is the bottleneck.

Use a FTP server instead, I get the transfer speed of 12.5 MB/S to my PI.

share|improve this answer
    
I assume that you use SSH –  Laurence Dec 7 '12 at 14:50
    
You were right, thanks! –  René Wolferink Dec 8 '12 at 15:45
    
I myself using a nfs server on raspberry and downloading it to my linux Desktop. I doubt thats easily possible on Windows, but for other users out there wanting advice :) –  keiki May 6 at 17:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.