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

Throughput of subsequent streams keep decreasing. #239

Closed
iamPerfPro opened this issue Nov 21, 2021 · 2 comments
Closed

Throughput of subsequent streams keep decreasing. #239

iamPerfPro opened this issue Nov 21, 2021 · 2 comments
Labels
question Further information is requested stale

Comments

@iamPerfPro
Copy link

When the http3_client.py is run with 10 requests like this
python3 examples/http3_client.py --ca-certs tests/pycacert.pem
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000
https://localhost:4433/10000000

The output of the above on the client side shows the throughput of each HTTP GET request which I assume is throughput of each stream and it keeps decreasing.

2021-11-21 13:27:27,487 INFO quic [2898d19e5bb23543] ALPN negotiated protocol h3
2021-11-21 13:27:27,487 INFO client New session ticket received
INFO client Response received for GET /10000000 : 10000000 bytes in 0.8 s (96.349 Mbps)
2021-11-21 13:27:29,062 INFO client Response received for GET /10000000 : 10000000 bytes in 1.6 s (50.903 Mbps)
2021-11-21 13:27:29,787 INFO client Response received for GET /10000000 : 10000000 bytes in 2.3 s (34.845 Mbps)
2021-11-21 13:27:30,493 INFO client Response received for GET /10000000 : 10000000 bytes in 3.0 s (26.648 Mbps)
2021-11-21 13:27:31,202 INFO client Response received for GET /10000000 : 10000000 bytes in 3.7 s (21.558 Mbps)
2021-11-21 13:27:31,891 INFO client Response received for GET /10000000 : 10000000 bytes in 4.4 s (18.186 Mbps)
2021-11-21 13:27:32,584 INFO client Response received for GET /10000000 : 10000000 bytes in 5.1 s (15.709 Mbps)
2021-11-21 13:27:33,257 INFO client Response received for GET /10000000 : 10000000 bytes in 5.8 s (13.876 Mbps)
2021-11-21 13:27:33,924 INFO client Response received for GET /10000000 : 10000000 bytes in 6.4 s (12.437 Mbps)
2021-11-21 13:27:34,593 INFO client Response received for GET /10000000 : 10000000 bytes in 7.1 s (11.266 Mbps)
2021-11-21 13:27:34,595 INFO quic [2898d19e5bb23543] Connection close sent (code 0x0, reason )

Why does the throughput decrease for every new stream generated ? The throughput decreased from 96.349 to 11.266.

Does this signify that the streams are not running in parallel.

Please advise on this. Thanks.

@jlaine
Copy link
Contributor

jlaine commented Mar 27, 2022

My assumption would be that as you pile on new requests there are more and more requests sharing the bandwidth, so their individual speed drops. You could re-run a test where you run the requests consecutively and see if the behaviour changes.

@jlaine jlaine added the question Further information is requested label Mar 27, 2022
@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested stale
Projects
None yet
Development

No branches or pull requests

2 participants