Enabling service worker slows down time-to-interactive on dropbox.com by 600ms
Categories
(Core :: DOM: Service Workers, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
platform-rel | --- | + |
People
(Reporter: dzbarsky, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: perf, Whiteboard: [platform-rel-Dropbox])
Attachments
(1 file)
25.15 KB,
patch
|
Details | Diff | Splinter Review |
Updated•8 years ago
|
Comment 1•8 years ago
|
||
Comment 2•8 years ago
|
||
Comment 3•8 years ago
|
||
Comment 4•8 years ago
|
||
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Comment 7•8 years ago
|
||
Comment 8•8 years ago
|
||
Comment 9•8 years ago
|
||
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
Comment 12•8 years ago
|
||
Comment 13•8 years ago
|
||
Comment 14•8 years ago
|
||
Updated•8 years ago
|
Updated•8 years ago
|
Updated•8 years ago
|
Updated•8 years ago
|
Updated•8 years ago
|
Comment 15•8 years ago
|
||
Updated•8 years ago
|
Comment 16•7 years ago
|
||
Comment 17•7 years ago
|
||
Updated•7 years ago
|
Comment 18•6 years ago
|
||
Part of this is most likely that worker code uses throttled queue for any URL creation (used inside fetch() and Cache API) and also for initiating network connections.
Throttled queue should be used only for things like postMessage.
Comment 19•6 years ago
|
||
Removing qf, since this is just a variant of bug 1522316.
Comment 20•6 years ago
|
||
(In reply to Olli Pettay [:smaug] (PTO-ish Feb 16-23) from comment #18)
Part of this is most likely that worker code uses throttled queue for any URL creation (used inside fetch() and Cache API) and also for initiating network connections.
Throttled queue should be used only for things like postMessage.
So, I just looked into this because I was very confused because we made http/https creation bypass the main thread in bug 1344751. But it seems like Bug 1454656 regressed that as part of an attempt to unify/clean up URL code, causing us to have to consult the main thread in every case. Specifically, the hunk removal at https://hg.mozilla.org/mozilla-central/rev/b5051b2393f2#l5.272 was our fast-path.
Assignee | ||
Updated•6 years ago
|
Updated•5 years ago
|
Comment 22•5 years ago
|
||
Bug 1558923 could have helped here.
Comment 24•5 years ago
|
||
So my understanding of the situation is:
- The DropBox ServiceWorker uses (used?) URL a lot. (Which is reasonable.)
- Bug 1344751 fixed slowdown from this.
- Bug 1454656 regressed this.
- Bug 1558923 should have fixed this again.
- Main thread contention was delaying ServiceWorker-initiated fetches.
- Bug 1522316 addressed this.
So we think the situation is that performance should have improved from the above. However, on nightly we also think that that the enabling of parent-intercept in bug 1456995 may potentially introduce additional latency which we are tracking in bug 1587759.
In general, it's definitely known that we will need to be focusing on addressing latency problems with ServiceWorkers in the near and medium term. So the big question is whether we have active contacts at dropbox who would like to work with us on optimizing our performance as it relates to dropbox specifically.
So, I am going to toggle the needinfo on dzbarsky. We'll resolve WFM if we don't hear back in a while.
Comment 25•5 years ago
|
||
Do you have any numbers on DropBox ServiceWorker performance under Firefox 69 release or the current 70 release? Thanks!
Reporter | ||
Comment 26•5 years ago
|
||
Thanks for the update Andrew.
We experimented with services workers when I first reported this, but ultimately did not end up using them in production (both due to Firefox perf issues and because Chrome didn't let us reliably update the worker script).
Happy to hear you've got improvements coming though!
Comment 27•5 years ago
|
||
Okay, I'm going to resolve this WORKSFORME because it seems there's no specific further actions to be taken here, but please feel free to reopen or file a new bug if you perform further ServiceWorker investigations involving Firefox. In the meantime we do know we have a lot of performance enhancements to work on and will be looking to get representative tests added to talos (automated performance regression tests).
Description
•