Comments (8)
Thanks. Does it show with a mere -d "fooo" (instead lf --form) as well ? I've not done a lot of posts over HTTP/2 so it is probably something like that lingering...
from curl.
Just pushed commit ef1c3b4 which I believe fixes this.
from curl.
Yes, that fixes it for the "h2" case (TLS). The "h2c" case, where no upgrade is triggered because of request content, it still seems unchanged slow. I see no delay, but the upload takes longer than in the TLS case. Some fallback code when nghttp2 does not kick in perhaps?
from curl.
Isn't that just the ordinary Expect: 100-continue delay then? Try with -H Expect: and see if it changes anything!
from curl.
As you can see below, the initial wait is gone in all cases, but the upload itself shows poor performance when --http2
is given. ('w. Expect' means -H Expect:
)
Timings with curl from github (this morning):
curl https://test.example.org:12346/upload.py: 100k file upload default...
0.22 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl https://test.example.org:12346/upload.py: 100k file upload via http/2...
0.22 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl https://test.example.org:12346/upload.py: 100k file upload default w. Expect...
0.22 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl https://test.example.org:12346/upload.py: 100k file upload via http/2 w. Expect...
0.22 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload default...
0.07 real 0.00 user 0.00 sys
0.01 real 0.00 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload via http/2...
7.24 real 0.00 user 0.00 sys
0.01 real 0.00 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload default w. Expect...
0.07 real 0.00 user 0.00 sys
0.01 real 0.00 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload via http/2 w. Expect...
7.24 real 0.00 user 0.00 sys
0.19 real 0.00 user 0.00 sys
Timings with curl 7.41.0:
curl https://test.example.org:12346/upload.py: 100k file upload default...
0.09 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl https://test.example.org:12346/upload.py: 100k file upload via http/2...
4.05 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl https://test.example.org:12346/upload.py: 100k file upload default w. Expect...
0.09 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl https://test.example.org:12346/upload.py: 100k file upload via http/2 w. Expect...
0.22 real 0.01 user 0.00 sys
0.03 real 0.01 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload default...
0.07 real 0.00 user 0.00 sys
0.01 real 0.00 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload via http/2...
8.05 real 0.00 user 0.00 sys
0.01 real 0.00 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload default w. Expect...
0.07 real 0.00 user 0.00 sys
0.01 real 0.00 user 0.00 sys
curl http://test.example.org:12345/upload.py: 100k file upload via http/2 w. Expect...
7.24 real 0.00 user 0.00 sys
0.01 real 0.00 user 0.00 sys.
from curl.
All right. Thanks a bunch for all the details. I guess I need to roll up my sleeves and check it out closer.
from curl.
commit abfab17 fixes this problem for me at least.
Thanks again!
from curl.
Yep. Works flawlessly. Thanks!
from curl.
Related Issues (20)
- curl-8.6.0 does not exit after retrieving web page from openssl s_server but curl-8.5.0 does HOT 3
- openssl s_server causes curl with Schannel to hang HOT 2
- Version 8.6.0 broke FTP with data connection over SSL HOT 6
- Version 8.6.0 adds 1s delay for FTP SSL connections HOT 7
- libcurl 8.6.0 still breaks mpd http streaming HOT 1
- Tarballs are missing files
- Building curl 8.1.2 with Intel OneAPI 2022.1.2 fails HOT 11
- openssl-3.0.13 - error: --with-openssl was given but OpenSSL could not be detected HOT 5
- Reusing curl handle is causing "CURLE_URL_MALFORMAT" error HOT 7
- Build failure with cmake 3.19.2 HOT 10
- Man page installation and distribution HOT 7
- Command-line option --upload is undocumented HOT 4
- Spurious message: "Leftovers after chunking: X bytes" HOT 3
- curl does not send trailers for small requests HOT 2
- c-ares version check fails when linking thread-safe c-ares using --enable-ares HOT 4
- Default protocol for URLs with no protocol section is insecure HOT 7
- Bug; HTTP/2 TLS V1.3 -- curl: (52) Empty reply from server HOT 2
- Function parsefmt cannot parse "I64d" when macro MP_HAVE_INT_EXTENSIONS is not defined (by default it is not defined)! HOT 5
- Segmentation fault in extract_if_dead() [lib/url.c:922] HOT 4
- Cannot resolve named proxy host when configured with async DNS HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from curl.