-
Notifications
You must be signed in to change notification settings - Fork 127
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
Add some instructions for doing upload test locally #1529
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1529 +/- ##
==========================================
- Coverage 87.61% 87.58% -0.03%
==========================================
Files 117 117
Lines 37848 37608 -240
==========================================
- Hits 33160 32939 -221
+ Misses 4688 4669 -19 ☔ View full report in Codecov by Sentry. |
performance-test/README.md
Outdated
This can be done by setting the `RUST_LOG` environment variable to `neqo_transport=info`. | ||
For example, the command below starts neqo-client and uploads 8MB of content to the server. | ||
``` | ||
RUST_LOG=neqo_transport=info ./target/release/neqo-client http://127.0.0.1:4433/ --test upload --upload-size 8388608 &>upload.log | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the performance impact of enabling logging? Also, is a debug build OK here or should it be an optimized release build?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, we'd want to take a packet trace and SSLKEYLOG during a performance run, decrypt the trace via Wireshark, conveft it to - say - JSON, and extract the information to plot out of that, rather than slowing down the endpoints by logging there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The performance impact of logging seems to be negligible on my machine, but I agree that using Wireshark is the best way. I'll try to create a shell script for this.
However, I think it's worth to note that the order of packets captured by Wireshark might be different than the log's.
For example, the order of packets below is sending packets 6-13, and then receiving ACKs, then sending 14-21.
But the log shows differently.
0s 60ms INFO packet_sent this=0x126f17e80, pn=6, ps=1357
0s 61ms INFO packet_sent this=0x126f17e80, pn=7, ps=1357
0s 63ms INFO packet_sent this=0x126f17e80, pn=8, ps=1357
0s 64ms INFO packet_sent this=0x126f17e80, pn=9, ps=1357
0s 66ms INFO packet_sent this=0x126f17e80, pn=10, ps=1357
0s 67ms INFO packet_sent this=0x126f17e80, pn=12, ps=1357
0s 67ms INFO packet_sent this=0x126f17e80, pn=13, ps=1157
0s 82ms INFO [Client ef3b7d4f9c65c5030cbba757] Rx ACK space=ap, ranges=[0..=3]
0s 82ms INFO packet_acked this=0x126f17e80, pn=3, ps=1357, ignored=0, lost=0
0s 82ms INFO packet_acked this=0x126f17e80, pn=2, ps=1357, ignored=0, lost=0
0s 82ms INFO packet_sent this=0x126f17e80, pn=14, ps=1357
0s 82ms INFO packet_sent this=0x126f17e80, pn=15, ps=1357
0s 82ms INFO packet_sent this=0x126f17e80, pn=16, ps=1357
0s 82ms INFO packet_sent this=0x126f17e80, pn=17, ps=1357
0s 82ms INFO [Client ef3b7d4f9c65c5030cbba757] Rx ACK space=ap, ranges=[0..=6]
0s 82ms INFO packet_acked this=0x126f17e80, pn=6, ps=1357, ignored=0, lost=0
0s 82ms INFO packet_acked this=0x126f17e80, pn=5, ps=33, ignored=1, lost=0
0s 82ms INFO packet_acked this=0x126f17e80, pn=4, ps=1357, ignored=0, lost=0
0s 83ms INFO packet_sent this=0x126f17e80, pn=18, ps=1357
0s 84ms INFO packet_sent this=0x126f17e80, pn=19, ps=1357
0s 85ms INFO packet_sent this=0x126f17e80, pn=20, ps=1357
0s 85ms INFO packet_sent this=0x126f17e80, pn=21, ps=1357
0s 86ms INFO [Client ef3b7d4f9c65c5030cbba757] Rx ACK space=ap, ranges=[0..=8]
0s 87ms INFO packet_acked this=0x126f17e80, pn=8, ps=1357, ignored=0, lost=0
0s 87ms INFO packet_acked this=0x126f17e80, pn=7, ps=1357, ignored=0, lost=0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wireshark will show you what on the wire :-) What the logs show depend on in which order neqo pushes and pulls data from the sockets, which depends on its internal scheduling logic. Both are useful to understand things.
Also wonder if we want to call the directory simply |
This script can visualize MOZ_LOGs * 'HTTP/3 upload speed' in `about:logging` * log modules: `timestamp,neqo_transport::*:3` Using the directory `performance-test` from mozilla#1529 Moving the script from https://github.com/mb/scripts/blob/5a72b00cda615a9ea940f0f93efeacb422807ec0/visualize/mozlog-neqo-cwnd.py Example output: https://bugzilla.mozilla.org/show_bug.cgi?id=1852924#c36
91e783a
to
f808651
Compare
This script can visualize MOZ_LOGs * 'HTTP/3 upload speed' in `about:logging` * log modules: `timestamp,neqo_transport::*:3` Using the directory `performance-test` from mozilla#1529 Moving the script from https://github.com/mb/scripts/blob/5a72b00cda615a9ea940f0f93efeacb422807ec0/visualize/mozlog-neqo-cwnd.py Example output: https://bugzilla.mozilla.org/show_bug.cgi?id=1852924#c36
This script can visualize MOZ_LOGs * 'HTTP/3 upload speed' in `about:logging` * log modules: `timestamp,neqo_transport::*:3` Using the directory `performance-test` from mozilla#1529 Moving the script from https://github.com/mb/scripts/blob/5a72b00cda615a9ea940f0f93efeacb422807ec0/visualize/mozlog-neqo-cwnd.py Example output: https://bugzilla.mozilla.org/show_bug.cgi?id=1852924#c36
This script can visualize MOZ_LOGs * 'HTTP/3 upload speed' in `about:logging` * log modules: `timestamp,neqo_transport::*:3` Using the directory `performance-test` from mozilla#1529 Moving the script from https://github.com/mb/scripts/blob/5a72b00cda615a9ea940f0f93efeacb422807ec0/visualize/mozlog-neqo-cwnd.py Example output: https://bugzilla.mozilla.org/show_bug.cgi?id=1852924#c36
No description provided.