Skip to content
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

HTTP/2 performance issue #2

Open
jfgiorgi opened this issue May 19, 2022 · 2 comments
Open

HTTP/2 performance issue #2

jfgiorgi opened this issue May 19, 2022 · 2 comments
Assignees
Labels
help wanted Extra attention is needed Performance Performance related issue

Comments

@jfgiorgi
Copy link
Contributor

jfgiorgi commented May 19, 2022

bug in the golang net/http implementation of HTTP/2
see golang/go#47840

workaround/proposed fixes:

In both case you might need to rebuild the whole net/http lib because of bundle trick used to merge http2 into net/http.

mid-term solution: Investigate using 3rd party HTTP/2 implementation (libcurl ?) or abandon Go and use C++ or Rust ?

@jfgiorgi jfgiorgi added bug Something isn't working help wanted Extra attention is needed labels May 19, 2022
@jfgiorgi jfgiorgi added Performance Performance related issue and removed bug Something isn't working labels May 19, 2022
@jfgiorgi
Copy link
Contributor Author

update on nov 2023: progress were made by the Go team. the ratio is now ~2x, down from ~5x.

@jfgiorgi
Copy link
Contributor Author

with go1.21.3:

./nspeed b h1sg then b h2g then b h3g

batch #0:
 Id| Read speed| Write speed| Time| Bytes read| Bytes written|command
 #1|  11.7 Gbps|       0 bps| 8.00|    11.7 GB|           0 B|get -http1.1 https://[::1]:45025/20g (IPv6 - 0.250 ms - HTTP/1.1 - TLS 1.3)

batch #1:
 Id| Read speed| Write speed| Time| Bytes read| Bytes written|command
 #3|   8.5 Gbps|       0 bps| 8.00|     8.5 GB|           0 B|get -http2 https://[::1]:45939/20g (IPv6 - 0.113 ms - HTTP/2.0 - TLS 1.3)

batch #2:
 Id| Read speed| Write speed| Time| Bytes read| Bytes written|command
 #5|   3.7 Gbps|       0 bps| 8.00|     3.7 GB|           0 B|get -http3 https://[::1]:33659/20g (IPv6 - 0.220 ms - HTTP/3.0 - TLS 1.3)```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed Performance Performance related issue
Projects
None yet
Development

No branches or pull requests

2 participants