2

I am getting no more than 300KB/s (occasionally dipping below 100KB/s) transferring files from Pi Zero W wirelessly to Windows 7 machine on same network using WinSPC.

I have done the following so far:

  1. check download and upload speed for Pi Zero W (using internet speed test online). This gave 3MB/s down and 2MB/s up. -> this cannot be the problem

  2. during file transfer I monitored the CPU usage of Pi -> never goes above 40%, so this cannot be the bottleneck either.

  3. used a Linux machine in Virtual Box to transfer files directly using SPC command -> same speed, so maybe issue isn't even with WinSPC

  4. chose different protocol, i.e. SFTP (same speed) and FTP (did not work) -> so it's not the FT protocol

  5. reset my router, which resulted in no improvement -> maybe not a router problem

So, are these abysmal transfer rates of 300KB/s expected or should I do better? What else could I try?

0

I think the key to your issue is the bolded part of your question that I've included below.

I am getting no more than 300KB/s (occasionally dipping below 100KB/s) transferring files from Pi Zero W wirelessly to Windows 7 machine on same network using WinSPC.

When dealing with anything network related, setting up the initial connection has a massive overhead, especially when it's not a local application downloading something. WinSCP operated by creating a new connection for each file. You didn't specify, but I assume these files are on the smaller side, which means that you're spending more time opening and closing connections than you are actually transferring files.

There's two primary solutions to the issue you're facing.

  1. Adjust the amount of parallel operations that WinSCP is allowed to do. It still has to create a new connection for each file, but you'll get a lot of stuff moved more quickly. I would suggest a setting of 9.

    Preferences > Transfer > Background > Maximal number of transfers at the same time.
    
  2. Before transfering your files, compress them into a zip file (or something better if you're familiar) and then unzip them after transfer. This will allow WinSCP to move all the files in one continuous transmittion and will be the fastest method you have available. Not only is there less connection overhead, you won't have multiple processes on the RPi Zero competing for precious disk IO time.

  • Thanks for the response. I tired both of your suggestion, but it did not improve my transfer speed. My files are between 20 and 100 MB in size. No matter what I set as a parameter of parallel operations, only one file at a time seems to be transferred. As a side question, is data transferred via the router to the Windows Box or is it direct? – Pi-Tungsten Aug 6 '17 at 23:30
  • @Pi-Tungsten: The files will go through the router before going to the RPi. Have you ensured that the hardware of any other device isn't the problem? Are you sure the network/disk load of the sending machine isn't causing an issue? – Jacobm001 Aug 7 '17 at 0:01
  • I think I can safely exclude that as cause of the issue. So that leaves the router as possible culprit? What other test could I run to check whether router is limitation? Btw, I tried file transfer from a Pi 3 to Win7 Box in the same way, however with Pi 3 plugged into router via Ethernet cable. This gives me slightly better rates of 700KB/s, but still far below possible up/down load speed. – Pi-Tungsten Aug 7 '17 at 0:33
  • WinSCP does not open a new connection for each transfer with SCP protocol. – Martin Prikryl Aug 12 '17 at 16:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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