-
Notifications
You must be signed in to change notification settings - Fork 43
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
HTTP2 support #109
Comments
Implemented on the |
My testing suggests that accessing a chunk store via HTTP2 (and H2C as well) is noticeable slower than HTTP1.1. And with larger It might depend on other factors such as latency etc, but at this point I'm not sure it's a good idea to turn this on by default. |
Would be interesting to explore HTTP/2 support again. I think that would ultimately result in using lesser network traffic since the overhead of each HTTP handshake will come down from number of chunks to just one |
Or maybe why not just explore HTTP/3 support altogether, I believe many CDNs out there already support that |
HTTP2 support has certainly improved, including in the standard library. It should probably be an option though not the default yet, in case there's still a performance issue. Is that something you'd be interested in working on? HTTP3 (HTTP over QUIC) is an interesting option too. Perhaps a new flag to switch between them. |
I just looked into this. It seems HTTP/2 is already supported and enabled. It's taken care by this line Line 79 in c508eeb
I also played with HTTP/3 using https://github.com/lucas-clemente/quic-go and my current testing suggests Cloudfront + HTTP/2 is fastest combination, so I guess we could wait for HTTP/3 to mature more in the coming years and visit that again. Ideally once the stdlib has HTTP/3 support. |
HTTP2 support in the chunk-server and client was first requested by @limbo127 in #10. At the time it didn't seem reasonable to implement H2C, but now that may be doable with https://godoc.org/golang.org/x/net/http2/h2c
The text was updated successfully, but these errors were encountered: