none
File transfer via RDP is slow RRS feed

  • Question

  • Here's the situation:

    I'm transfering a file from my remote XP box via RDP, to a Windows 7 box elsewhere. It reaches speed of around 500KB/s.

    Why is this a problem?

    The sending end (remote XP box) has an upload bandwidth of 20Mb/s, which is pretty much idle. So it should be able to reach speeds in the neighbourhood of 2MB/s - four times as much. The receiving end (Windows 7 box) has a 100Mb/s download bandwidth (just about idle as well), so it should be more than capable of keeping up. The response times (ping times for some folks) between the two is about 9ms (even while copying).

    The other way around is just as slow. In this direction, the connection should be capable of 100Mb/s, but it reaches roughly only one-twentieth of that (!).

    The total end-to-end line looks like this:

    Windows 7 box -- generic NAT router -- fiberoptic -- provider 1 -- provider 2 -- fiberoptic/copper -- generic NAT router -- SSH proxy -- VMware ESXi with XP box in it.

    Here's the question:

    Why is it so slow, as compared to what the connection should be capable of?

    To recap:

    Copying a file FROM the remote to my local box: about one-quarter of expected speeds.
    Copying a file TO the remote from my local box: about one-twentieth of expected speeds.

    Tuesday, March 17, 2015 8:36 AM

Answers

  •  The feature is there, so it's at least designed to work.

    I am well aware. Refer to my Ford Focus on the Indy 500 analogy. Both cars drive, one is designed and built to drive faster. Same goes for RDP and file transfers, yes they work, fast? Probably not. Your issue of slow transfer rates can be solved by using a program designed for file transfers. You get what you get with RDP, AFAIK and according to many forums I have read since you posted this. You won't get a much faster transfer rate.
    Monday, March 23, 2015 3:44 PM

All replies

  • Your not taking into account the bandwidth usage of the RDP session itself. RDP takes up a lot of bandwidth by itself and a 500KB/s file transfer rate via RDP to a outside network isn't actually that bad. RDP isn't designed to be a good file transfer method. Might I suggest using a FTP program?

    • Edited by Acreed02 Tuesday, March 17, 2015 12:12 PM
    • Proposed as answer by Karen HuModerator Wednesday, March 18, 2015 3:09 AM
    Tuesday, March 17, 2015 12:10 PM
  • Hi,

    Yes, like Acreed02 said, the bandwidth usage of the remote connection is quite a bit. It even cannot transfer larger than 2GB file.

    You could refer to this similar situation:

    http://superuser.com/questions/429524/how-to-better-copypaste-big-files-over-rdp

    Please Note: Since the website is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.


    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.


    Wednesday, March 18, 2015 3:21 AM
    Moderator
  • Protocol overhead is irrelevant. If you do the math, the fastest transfer for me would impose a 75% overhead (500KB/s versus 2MB/s capable) of the protocols. I understand there's some overhead, but 75% is too much. As for the other way around, I stated it's capable of twenty times more, which would mean an overhead of 95%! No fricking way of course. RDP is not that badly designed.

    It looks more as if 500KB/s is imposed as some sort of arbitrary limit.


    • Edited by thany1 Thursday, March 19, 2015 9:09 AM
    Thursday, March 19, 2015 9:06 AM
  • The RDP session does use some bandwidth, of course it does. But it doesn't use quite that much. If you consider it even works fine on a modest 3G connection, or when connection from the other side of the world - it wouldn't exactly need to max out a 100Mb fiberoptic connection.

    So it should be capable of MUCH more than 500KB/s for file tansfers.

    Thursday, March 19, 2015 9:08 AM
  • Thany1,

    I don't think anyone was suggesting that RDP uses 95% overhead. The main takeaway here is that RDP isn't designed for file transfers. Yes it is possible, but it isn't going to be ideal. It would be like me taking a stock Ford Focus to the Indy 500, would I be able to race? Yes. Would I be very fast? Nope.

    There may be some arbitrary limit on file transfers from an RDP session, that I do not know and cannot find any info on it. If the rate causes issues there are plenty of free FTP programs you can use to transfer files more quickly. 

    EDIT: After reading a bit more it seems that the reason for slow file transfer over RDP has to do with encryption. You can read more about that and some possible ways to increase file transfer over RDP here.


    • Edited by Acreed02 Thursday, March 19, 2015 12:22 PM
    Thursday, March 19, 2015 12:02 PM
  • If encryption is the reason, the 500KB/s would be maxing out the CPU. That in itself would be ludricously inefficient, since Truecrypt on the same box reaches encryption rates in excess of 1GB/s. But even so, the CPU is not maxing out, so encryption can't possibly be the limiting factor.

    • Edited by thany1 Saturday, March 21, 2015 2:25 PM
    Saturday, March 21, 2015 2:24 PM
  • Whatever it may be, doesn't matter. You are using a program for something it is not designed to be used for, and then complaining it's not efficient. Not much else can be said about this.
    Monday, March 23, 2015 11:58 AM
  • That reads as if you're convinced RDP file transfers *should* be slow. I hope that's not the case.

    Nevertheless, file transfering is a feature of RDP, so "not designed for" is just simply not true. The feature is there, so it's at least designed to work. With that in mind, I should expect it to work (which it does), and they may as well design for it to work efficiently (which it doesn't).

    Btw, I'm not complaining. I just want things to work reasonably well. Nothing wrong with that.

    Monday, March 23, 2015 3:40 PM
  •  The feature is there, so it's at least designed to work.

    I am well aware. Refer to my Ford Focus on the Indy 500 analogy. Both cars drive, one is designed and built to drive faster. Same goes for RDP and file transfers, yes they work, fast? Probably not. Your issue of slow transfer rates can be solved by using a program designed for file transfers. You get what you get with RDP, AFAIK and according to many forums I have read since you posted this. You won't get a much faster transfer rate.
    Monday, March 23, 2015 3:44 PM
  • Your analogy although appropriate in the physical world does not quite address the issue that rdp SHOULD actually do much better than that on throughput.

    Nobody designs a protocol to be slow on PURPOSE. And it's easy to do much better than this.

    A car can be justified to be slower as it's cheaper to build but it doesn't take much to design faster transfer speeds. This is just sloppy programming on Microsoft part.
    Your analogy does not translate here. Sorry

    Tuesday, May 8, 2018 2:39 PM
  • Actually my analogy fits perfectly considering the circumstances. Yes, nobody thinks to themselves "hey we are going to program this to be slow because.....REASONS!" However they do think, "We created this program to do this, it would be nice if it had this feature as well for convenience but it's not its main focus. There are other programs that tackle that if people need excessive speed."

    You see, the Ford Focus of the analogy is designed to drive on public roads. Using it to race and then yelling at the manufacturing for designing the car to drive slow on purpose makes zero sense. If you want to race, go get a car that is designed for it.

    If want to transfer files at a high rate of speed, don't use RDP. Would it be nice if they just programed RDP to transfer files like an FTP? Yeah, that'd be a quality of life improvement, but I highly doubt the demand for it is worth the investment. So, it is what it is.

    If you feel so strongly about it, then go ahead and suggest some changes or program yourself a third party RDP program that does. Or there may be one out there already....


    • Edited by Acreed02 Wednesday, June 20, 2018 8:44 PM
    Wednesday, June 20, 2018 8:44 PM
  • After reading through the responses, I'd like to juxtapose this:

    Host: Windows Server 2016

    Hyper-V Guest: Windows 10 1903

    I'm using Enhanced Session to connect to the Guest which is basically an RDP session. When attempting to copy files via the clipboard or via a shared session drive, the fastest file transfer speed I get is ~12MB/s. The underlying disk structure is capable of over 400MB/s inter-volume file copies (i.e. copy "file a.xxx" and paste file in same directory to create "file a - Copy.xxx".) 

    it's 2019, and the file copy is still slow as **** when using an RDP.

    Before you even say it, I know I could setup and internal only network between host and guest, however the guest is on a different VLAN than the host for a reason. In fact, the NIC that the guest uses isn't even shared with the host. The smaller the attack footprint there is between the guest and the host, the better.



    Sunday, August 4, 2019 5:04 AM