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)
- (MSYS2/MinGW/GCC 14) nonblock.c: In function 'curlx_nonblock': no non-blocking method was found/used/set HOT 13
- HTTP/2 + BR encoding -> curl: (23) Error HOT 2
- error when make,how to resolve ? error massage :final link failed: symbol needs debug section which does not exist HOT 2
- Windows DNS resolution fails when impersonation is used HOT 9
- --interface and CURLOPT_INTERFACE works different for Ip Address and Interface HOT 5
- `wakeup_create` implementations "leak" file descriptors to process children HOT 1
- Disabling USE_UNIX_SOCKETS does not remove the use of AF_UNIX when compiling libcurl. HOT 5
- TFTP tests fail on OpenBSD (ci/GHA) HOT 5
- Dependency Dashboard HOT 6
- mbedTLS 3.6.0 breaks curl HOT 1
- curl+openssl crashed HOT 4
- CURLE_RECV_ERROR was returned in case of a write function error HOT 4
- SSLKEYLOGFILE not working with curl-for-win build HOT 3
- Bug NTLM authentication wrong behavior with the head flag --head or -I HOT 1
- curl_easy_perform() failed: Unsupported protocol (WSS) HOT 1
- libcurl using client reports curl error 92 "Stream error in the HTTP/2 framing layer" when receiving a 204 No content reponse from HTTP/2 server to a DELETE request HOT 3
- CURLOPT_WRITEFUNCTION documentation inconsistency HOT 1
- Segfault in encodeDN
- WebSocket tests 2301, 2302 flaky on Windows (mingw-w64) HOT 2
- CURLOPT_MAX_RECV_SPEED_LARGE < 7623 breaks SFTP download HOT 7
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.