Post a reply

Before posting, please read how to report bug or request support effectively.

Bug reports without an attached log file are usually useless.

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

martin

pistacho wrote:

1) If the CPU is the limiting factor, why does the usage percentage fluctuate? I mean, I would argue that a demanding task would request a constant %CPU power processing (as much as it could get). In this case I would expect a full core (a 25% of the total) to be fully occupied while the task is running. I don't understand why it constantly varies from a 12% to a 22%.

Hard to tell.

2) If both WinSCP and FileZilla client use the same full core in the same machine, why does the later saturate the download bandwidth, while the former doesn't?

Better implementation of the encryption. Or better compiler. Or inferior encryption used by FileZilla (unlikely).

3) Why does a previous version of WinSCP (version 4.3.3) perform better than the current one (the ancient one reaches 40MBps while the latest only gets 30MBps)?

Inferior (less CPU demanding) encryption algorithm used by 4.x

4) Related to the previous point, and as the tip at the beginning of this post suggests, could the crypto libraries that WinSCP is using be the root cause to this issue?

Possibly. Or a less efficient compiler.
glenhall

on multiple machines I find winscp slower transferring over ftps than either flashFXP or filezilla (they always download at the full speed of the server im receiving from), CPU certainly doesn't seem to get hammered. and i thought after seeing this post https://winscp.net/forum/viewtopic.php?p=90151#90151 it was related to the optimize connection buffer but this is related to different protocol so im not sure what it is, but i do prefer the interface and features of winscp, so most of the time i just suffer with the slower speeds.
an example is when I download from my home a crap 3MB/s using filezilla, but using winscp, the same file 900KB/s
pistacho

Just a tip, which may not have anything to do with this case. I also use a tool called FreeFileSync, which allows you to synchronize some pairs of directories. The most recent versions are able to connect to a FTPS server and sync against that server too. However, the latest version has boosted its transfer speed when you sync to a FTPS server, and it's related to the underlying libcurl library that it uses, which has been updated.

Regarding to your question, as my CPU has 4 cores, I guess a full core would represent a 25% of total processing power, and we could take that as an approximation for the estimated 20% I mentioned.

However, this makes me wonder the following:

1) If the CPU is the limiting factor, why does the usage percentage fluctuate? I mean, I would argue that a demanding task would request a constant %CPU power processing (as much as it could get). In this case I would expect a full core (a 25% of the total) to be fully occupied while the task is running. I don't understand why it constantly varies from a 12% to a 22%.

2) If both WinSCP and FileZilla client use the same full core in the same machine, why does the later saturate the download bandwidth, while the former doesn't?

3) Why does a previous version of WinSCP (version 4.3.3) perform better than the current one (the ancient one reaches 40MBps while the latest only gets 30MBps)?

4) Related to the previous point, and as the tip at the beginning of this post suggests, could the crypto libraries that WinSCP is using be the root cause to this issue?

Thank you martin for your patience helping me to track this down.
martin

OK, but isn't that approx. 20% one full core?
pistacho

Well, it seems not to be CPU related because both WinSCP and FileZilla Client take only around 20% of the CPU (in varies between 12% and 22%) when using an implicit FTPS connection, and on the other side (in both cases) FileZilla Server is taking also a similar percentage of the server's CPU.

I thought the crypto suite used for TLS connection could be different in both clients, so that could explain the difference in performance, but it looks like both clients are using the same algorithms, specifically:

WinSCP FTPS (FTP over TLS, implicit)
Cryptographic protocol = TLS/SSL Implicit encryption, TLSv1.2

Encryption algorithm = TLSv1/SSLv3: ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA, ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD


FileZilla Client FTPS (FTP over TLS, implicit)
Protocol: TLS1.2, Key exchange: ECDHE-RSA, Cipher: AES-256-GCM, MAC: AEAD


So, the plot thickens. [DRAMATIC CHIPMUNK MUSIC PLAYS] 8¬)

Any other ideas about what could be causing this differences?
martin

OK, so it's probably a CPU-bound problem. Can you confirm that one the CPU cores is maxed during the transfer?
pistacho

I've tested the same transfer without encryption, and WinSCP v5.13.7 reaches up to 70MBps. It starts downloading at arround 55MBps, and in a matter of 10 seconds or so, it raises to 70MBps.

Curiously enough, FileZilla Client starts at 65MBps at reaches 70MBps in a pair of seconds.
martin

Re: Slow WinSCP transfer speeds when connecting to a FTPS server

Can you test the speeds without an encryption?
pistacho

Slow WinSCP transfer speeds when connecting to a FTPS server

I'm connecting to a FileZilla Server v0.9.60beta using FileZilla Client v3.40.0 and WinSCP v5.13.0.8172, in both cases with an implicit FTPS connection.

When I download an ISO image (which is around 4GB) from the server I get around 70MBps of download speed (which actually is the maximum upload speed of that server) with FileZilla client. However, if I download that same file using WinSCP I only get around 30MBps.

I've read at WinSCP FAQ that unchecking "Optimize connection buffer size" has helped some people to improve their speeds, however this checkbox is checked but disabled (greyed out) when I use an implicit FTPS connection, so I guess that setting only applies to SFTP and SCP connections.

I've also tried some other releases of WinSCP (versions 4.3.3, 4.3.9, 5.7.0, 5.9, 5.11, as well as the latest 5.14.4RC), but almost all of them seem to behave exactly the same. Curiously enough, the oldest one (version 4.3.3) reaches around 40MBps, which is 10MBps higher that the newer versions of WinSCP, but still well below FileZilla client.

Just to verify if the client was the limiting factor, I've used also cURL to download the very same ISO file from the same implicit FTPS server, and I'm also getting speeds around 70MBps (just like FileZilla client). That suggest that the client seems to be the key in this issue.

Is there anything I can try to improve the download speed when connecting to a FTPS server using WinSCP?

Thank you very much.