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

x/net/http2: support memory re-use for MetaHeadersFrames #22717

Open
dfawley opened this Issue Nov 14, 2017 · 3 comments

Comments

Projects
None yet
4 participants
@dfawley
Copy link

dfawley commented Nov 14, 2017

As pointed out in grpc/grpc-go#1587 (comment) (and in cockroachdb/cockroach#17370), re-using MetaHeadersFrame memory similarly to DataFrames has the potential to increase performance significantly (~50% throughput increase), even where the header frame data is quite small (10s of bytes). The http2 library should ideally support this.

@odeke-em

This comment has been minimized.

Copy link
Member

odeke-em commented Nov 14, 2017

@odeke-em odeke-em added this to the Unplanned milestone Nov 14, 2017

@tombergan

This comment has been minimized.

Copy link
Contributor

tombergan commented Nov 22, 2017

@dfawley Do you have a benchmark you can share? Ideally something we could copy into x/net/http2.

Also: it's not clear from the grpc issue if this was a microbenchmark or a more realistic benchmark.

@Zeymo

This comment has been minimized.

Copy link

Zeymo commented Nov 22, 2017

+1

The http2 library should ideally support this

we build gateway base on x/net/http2, when reuse MetaHeaderFrame (especially mh.Fields) and HeaderFrame ,gain ~10% qps benifits and reduce ~3% pause time

ps:we have 7~10 header filed per stream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment