Performance testing of HTTP3 in Firefox using only xpcshell tests
Categories
(Core :: Networking: HTTP, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: dragana, Assigned: tarek)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
Attachments
(1 file)
Implement a simple xpcshell tests that:
- download a large amount of data over one stream
- upload a large amount of data over a single stream
- download a large number of small responses that should fill the flow-control window (number of streams and size TBA)
- upload a large number of small responses that should fill the flow-control window (number of streams and size TBA)
Set up different network conditions:
- bandwidth 10Mbps, 20Mbps, 50Mbps and 100Mbps
- delay by 10ms, 50ms, 100ms and 250ms
- loss 1%, 2%, 5%, 10% and 20%
Compare the performance to the performance of TCP sending/receiving large amount of data. Use NewReno, Cubic and BBR as the congestion control algorithm.
Reporter | ||
Comment 1•4 years ago
|
||
This tests will estimate performance of of neqo and its integration into Firefox networking stack, but it will not be influence by DOM, layout and all upper code. The complete Firefox performance will be tested in bug 1650358.
Reporter | ||
Comment 3•4 years ago
|
||
Michal , for now we only need xpcshell test and Tarek will integrate it into test automation. I will e-mail you some detail.
Comment 4•4 years ago
|
||
Assignee | ||
Comment 5•4 years ago
|
||
Assignee | ||
Comment 6•4 years ago
|
||
Pushed by tziade@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1ccda1d0c3ea Performance testing of HTTP3 in Firefox using only xpcshell tests r=sparky
Comment 8•4 years ago
|
||
bugherder |
Comment 9•4 years ago
|
||
Comment 10•4 years ago
•
|
||
+ {
+ 'source': buildconfig.topsrcdir,
+ 'pattern': 'browser/config/**'
+ },
+ {
+ 'source': buildconfig.topsrcdir,
+ 'pattern': 'build/moz.configure/**'
+ },
+ {
+ 'source': buildconfig.topobjdir,
+ 'pattern': 'dist/bin/**',
+ },
+ {
+ 'source': buildconfig.topobjdir,
+ 'base': '_tests/modules',
+ 'pattern': '**',
+ 'dest': 'dist/bin/modules'
+ },
+ {
+ 'source': buildconfig.topobjdir,
+ 'pattern': 'dist/plugins/**'
+ },
+ {
+ 'source': buildconfig.topsrcdir,
+ 'base': 'netwerk/test/http3serverDB',
+ 'pattern': '**',
+ 'dest': 'netwerk/test/http3serverDB',
}
No wonder why... this is very broad, and turned the perftest archives from a 19MB tarball into a 1.5GB one. Which is also a lot of storage use. I think this should be backed out.
Comment 11•4 years ago
|
||
Backed out changeset 1ccda1d0c3ea (bug 1650363) for causing a serious regression in packaging time
Backout link: https://hg.mozilla.org/integration/autoland/rev/283caf8887b3b34ed80921105b41a6dd0e828418
Assignee | ||
Comment 12•4 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #10)
No wonder why... this is very broad, and turned the perftest archives from a 19MB tarball into a 1.5GB one. Which is also a lot of storage use. I think this should be backed out.
Sorry I have not noticed it was so big on some platforms. I need the ability to run xpcshell
, which is not present in target.tar.bz2
In my attempts to use a subset of dist/bin
I had several issues, I could not find the right subset, so I included it fully.
Mike, is there an existing way to have the xpcshell
binary without having to get all of dist/bin
?
Assignee | ||
Updated•4 years ago
|
Comment 13•4 years ago
|
||
xpcshell is in target.common.tests.tar.gz. Check how the xpcshell tests use xpcshell...
Why do you package browser/config/** and build/moz.configure/**? They're not big, but they shouldn't be necessary.
Assignee | ||
Comment 14•4 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #13)
xpcshell is in target.common.tests.tar.gz. Check how the xpcshell tests use xpcshell...
ok
Why do you package browser/config/** and build/moz.configure/**? They're not big, but they shouldn't be necessary.
They are required by the MozbuildObject object in my (non mach) runner.
Comment 15•4 years ago
|
||
They are required by the MozbuildObject object in my (non mach) runner.
None of the other test runners need that.
Comment 16•4 years ago
|
||
Come to think of it, why is this not using the xpcshell test harness?
Assignee | ||
Comment 17•4 years ago
|
||
Come to think of it, why is this not using the xpcshell test harness?
because we provide an environment to run performance tests, and performance tests can be xpcshell tests or browsertime tests.
and I don't want it to rely on mozharness, which forces an architecture and design we don't want.
We wrap runxpcshelltests.py and that works fine. The only remaining issue is to have the xpcshell
binary
working in the CI without pulling the whole dist/bin
dir.
So, target.common.tests.tar.gz does contain the xpshell
binary but it's dynamically linked to libs that are not
there. You can't run it without all the *dylib files
dyld: Library not loaded: @executable_path/libnss3.dylib
Referenced from: /Users/tarek/Downloads/tarball/bin/xpcshell
Reason: image not found
That brings me back to the reason why I grabbed everyhing under dist/bin
in my test package.
But that would grow again the package. I guess those libs are available in target.tar.bz2
, target.dmg
and that's what mozharness does.
I'll try to do something with that.
Maybe a simple solution would be to have an artifact that provides everything required to run xpcshell tests directly (the binary and all its libs)
Assignee | ||
Comment 18•4 years ago
|
||
(that makes me wonder why we don't ship the xpcshell binary in the main target artifact)
Comment 19•4 years ago
|
||
runxpcshelltests should be dealing with those details if you pass the right arguments (--xre-path).
I don't get why you need build system stuff if you're using runxpcshelltests.
(that makes me wonder why we don't ship the xpcshell binary in the main target artifact)
Because it's not something we ship with Firefox.
Assignee | ||
Comment 20•4 years ago
|
||
Try run with reduced test package size
Assignee | ||
Comment 21•4 years ago
|
||
Comment 22•4 years ago
|
||
Pushed by tziade@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/dfa35557a3aa Performance testing of HTTP3 in Firefox using only xpcshell tests r=michal,sparky
Comment 23•4 years ago
|
||
bugherder |
Description
•