New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cURL 7.71 sftp upload slow #5633
Comments
Hi @RadMission, huge gap between |
Yes, indeed, it's quite a gap. Here's a verbose output from running a small test file (can't wait 5+ hrs for the full prod file) - everything else is same as with prod: % Total % Received % Xferd Average Speed Time Time Time Current 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying
14 454k 0 0 14 65536 0 48943 0:00:09 0:00:01 0:00:08 48943 100 454k 0 0 100 454k 0 23756 0:00:19 0:00:19 --:--:-- 17745 100 454k 0 0 100 454k 0 23756 0:00:19 0:00:19 --:--:-- 23756
|
This might be a duplicate of #5631 - can you try 7.70.0 and see if that is any different? Otherwise 7.71.1 will be out in ... 9-10 hours or so. |
@bagder I am seeing the sample problem, and I can confirm that going from 7.71.0 to 7.70.0 resolves the problem. Uploads speeds are reduced from 28 seconds to less than a second. |
thanks for that @rmja. We've just shipped 7.71.1 now with that particular change reverted so hopefully we're back to proper performance. If @RadMission confirms this to be the same problem we'll consider this case closed. |
No problem, as soon as I see the official windows build for 7.71.1 on the download page, I will test it and let you know |
@bagder Upgrading to 7.71.1 did not solve the problem. Uploads with that version are still extremely slow (on Windows). I am back on 7.70.0 for now. |
Argh, too bad. It would be really helpful if someone could bisect to the offending commit. I still suspect this is a window-specific issue. I'm not on Windows myself. |
I've not been able to spot any speed difference between 7.68.0 and 7.71.1 when doing sftp upload to localhost on Linux. |
Please give us the full |
I can confirm 7.70.0 working as expected. |
After discussing with my supervisors, a decision was made to stick with v7.70.0 since it seems to be working fine. Thank you to everyone who contributed here. |
I am also experiencing the same as @rmja, that on
Running the command: It maxes at around 250 kb/s |
@rmja @RadMission @Togtja so all of you are still experiencing slowness with If this is the case, #5397 cannot be the root cause since that has been reverted in |
@mback2k When bulding for |
Sorry, i was taken off this project - my bosses decided after v7.70.0 was
found to be working as expected not to pursue further updates.
Rad Nesic | Support Analyst | Mission Systems Development Corp.
607-255 Duncan Mill Rd | Toronto | Ontario | M3B 3H9
T. 416-590-9844 x. 424 | F. 416-590-9848 | E. rad@missioninc.com
www.missioninc.com
…On Tue, Jul 28, 2020 at 3:44 AM Marc Hörsken ***@***.***> wrote:
@rmja <https://github.com/rmja> @RadMission
<https://github.com/RadMission> @Togtja <https://github.com/Togtja> so
all of you are still experiencing slowness with 7.71.1 while not with
7.70.0?
If this is the case, #5397 <#5397>
cannot be the root cause since that has been reverted in 7.71.1. Can one
of you bisect the offending commit between these versions maybe?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5633 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABMMFPVLJ2QFIPKFMLJZKCLR5Z6VPANCNFSM4OMQ4IBQ>
.
|
So we're back at: 7.71.1 probably is fixed. I say we close this again. |
I will get back on Saturday, I am currently on offline camping vacation🍺🍻 |
I can try. Can you point me to to some windows build instructions? |
I personally use msys2.org to build curl with mingw-w64 using the following autotools steps as given in .azure-pipelines.yml:
There are other ways to build on Windows as explained in docs/INSTALL.md, winbuild/BUILD.WINDOWS.txt and projects/README. |
Please refer to the curl wiki how to git bisect. |
I am trying to produce builds using the following procedure using msys2:
I have tried A:
and B:
A) produces a build where the easy initialization never completes (the call just never completes), and B) produces a build where I am getting the SSL _CONNECT_ERROR as in the test builds from #5634. What exact configure parameters should i use to get a build with openssl? |
You need to launch the specific |
As far as I've tested 7.71.0 and 7.71.1 are good, 7.70.0 is bad. All binaries are from here. 7.70.0: finish instantly $ ./curl.exe -V && ./curl.exe -T C:/tmp/10M_dummy_file sftp://192.168.1.160/tmp/
curl 7.70.0 (i386-pc-win32) libcurl/7.70.0 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 WinIDN libssh2/1.9.0 nghttp2/1.40.0
Release-Date: 2020-04-29
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile MultiSSL NTLM SPNEGO SSL SSPI TLS-SRP UnixSockets brotli libz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10.0M 0 0 100 10.0M 0 13.4M --:--:-- --:--:-- --:--:-- 13.4M 7.71.0: only 300KiB transferred after 10 seconds $ ./curl.exe -V && ./curl.exe -T C:/tmp/10M_dummy_file sftp://192.168.1.160/tmp/
curl 7.71.0 (i386-pc-win32) libcurl/7.71.0 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 WinIDN libssh2/1.9.0 nghttp2/1.41.0
Release-Date: 2020-06-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile MultiSSL NTLM SPNEGO SSL SSPI TLS-SRP UnixSockets brotli libz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
3 10.0M 0 0 3 320k 0 26537 0:06:35 0:00:12 0:06:23 25918 7.71.1: finish instantly $ ./curl.exe -V && ./curl.exe -T C:/tmp/10M_dummy_file sftp://192.168.1.160/tmp/
curl 7.71.1 (i386-pc-win32) libcurl/7.71.1 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 WinIDN libssh2/1.9.0 nghttp2/1.41.0
Release-Date: 2020-07-01
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile MultiSSL NTLM SPNEGO SSL SSPI TLS-SRP UnixSockets brotli libz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10.0M 0 0 100 10.0M 0 14.3M --:--:-- --:--:-- --:--:-- 14.3M |
Intermediate update from my side. I have managed to build the source with the following steps: Install msys2
Run mingw64
Inspect Some results are: I will start the bisect procedure from 53cdc2c to e9db32a now. |
@bagder would you mind taking a look at this? |
Awesome. But also very strange. I clearly need to dig deeper to understand this... |
@rmja can you show us a command line you use when you test/verify this? (you can edit out the real host name etc) |
I am not using the curl command line but I am configuring curl similar to #5634 (comment). Edit: Note, I cannot test without a proxy, but http and socks5 proxy are equally slow. |
Hm, this is #5633... so what did you mean? =) |
I did this
We have a number of daily scheduled tasks which upload files to remote sftp servers, these have been running fine using curl for years now. Recently we tried to upgrade from curl 7.34.0 to 7.71.0 but when running on the new version the files which normally take ~5 min to upload now take 5+ hrs. We're using the exact same command as before:
curl.exe -K "UploadSftp.cURL.config" 2> "..\Logs\UploadSftp.log"
where the config file looks something like this (sensitive information edited out):
upload-file = "
here be the file path"url = "
here be the remote server url"user =
here be credentialsssl
ftp-pasv
insecure
I expected the following
(what follows is a typical log file with curl 7.34.0)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 378M 0 0 0 1984k 0 1186k 0:05:26 0:00:01 0:05:25 1186k
...
99 378M 0 0 99 376M 0 1867k 0:03:27 0:03:26 0:00:01 1734k
100 378M 0 0 100 378M 0 1867k 0:03:27 0:03:27 --:--:-- 1783k
100 378M 0 0 100 378M 0 1867k 0:03:27 0:03:27 --:--:-- 1867k
(where with 7.71.0 we're seeing this)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 378M 0 0 0 65536 0 45701 2:24:33 0:00:01 2:24:32 45701
0 378M 0 0 0 65536 0 26914 4:05:27 0:00:02 4:05:25 26914
0 378M 0 0 0 122k 0 36387 3:01:33 0:00:03 3:01:30 36387
0 378M 0 0 0 128k 0 29454 3:44:17 0:00:04 3:44:13 29454
0 378M 0 0 0 128k 0 23979 4:35:30 0:00:05 4:35:25 24385
0 378M 0 0 0 186k 0 29481 3:44:05 0:00:06 3:43:59 24878
...
(On this particular occasion the upload was aborted before finishing)
curl/libcurl version
[curl -V output]
curl 7.71.0 (x86_64-pc-win32) libcurl/7.71.0 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 WinIDN libssh2/1.9.0 nghttp2/1.41.0
Release-Date: 2020-06-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile MultiSSL NTLM SPNEGO SSL SSPI TLS-SRP UnixSockets brotli libz
operating system
Windows Server 2019 Standard
10.0.17763 Build 17763
The text was updated successfully, but these errors were encountered: