Last modified: 2014-01-21 20:38:49 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T61958, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 59958 - ULS loading language-specific fonts for interlanguage links
ULS loading language-specific fonts for interlanguage links
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
UniversalLanguageSelector (Other open bugs)
unspecified
All All
: Unprioritized normal (vote)
: ---
Assigned To: Nobody - You can work on this!
: performance
Depends on:
Blocks: uls-diet
  Show dependency treegraph
 
Reported: 2014-01-11 22:07 UTC by Ori Livneh
Modified: 2014-01-21 20:38 UTC (History)
13 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Waterfall diagram showing impact on latency and resource utilization (8.88 KB, image/png)
2014-01-11 22:07 UTC, Ori Livneh
Details
Screenshot article (232.89 KB, image/png)
2014-01-12 13:37 UTC, Nemo
Details
Graph showing drop in bandwidth utilization of Bits caches after syncing I2da436caa (32.48 KB, image/png)
2014-01-16 21:27 UTC, Ori Livneh
Details
bits bandwidth investigation around 1.23wmf10 wikipedias deployment peak, #wikimedia-operations, 2014-01-16 (7.36 KB, text/plain)
2014-01-20 08:36 UTC, Nemo
Details

Description Ori Livneh 2014-01-11 22:07:58 UTC
Created attachment 14294 [details]
Waterfall diagram showing impact on latency and resource utilization

On <http://en.wikipedia.org/wiki/Conjunctivitis>, UniversalLanguageSelector loads just under half a megabyte of fonts (490.2 Kb). By comparison, the combined size of all other resources -- that is, *all* javascript, CSS, images and text -- is 346 Kb.

The impact on page performance is severe. It is clearly noticeable even on a high-bandwidth, low-latency connection. The attached image shows the font requests saturating bandwidth, then CPU as they are retrieved and rendered.

More details here: <http://www.webpagetest.org/result/140111_D1_TEV/1/details/>

WebKit browsers hide text until the font is available. This causes the interlanguage links for which ULS is overriding the system default font selection to appear in one font, vanish for several seconds, and then re-appear in a different font. I recorded this on my laptop: <http://www.youtube.com/watch?v=J3Wd7d8Y7wE>. Note that I am using a bleeding-edge browser version and connecting to the internet via a broadband connection.

In my assessment, the frequency and regularity with which this issue has recurred makes it clear that ULS's strategy for loading web fonts is fundamentally misguided. I do not consider a selector exemption to be an adequate solution to this bug.
Comment 1 Nemo 2014-01-12 10:18:26 UTC
Premises don't match conclusions.

(In reply to comment #0)
> On <http://en.wikipedia.org/wiki/Conjunctivitis>, UniversalLanguageSelector
> loads just under half a megabyte of fonts (490.2 Kb).

By the current design, it's supposed to load only about 50 KB for interlanguage links. If it doesn't, maybe that's the problem? Or the problem is not what in summary. In any case, the conclusion is not currently justified.
Comment 2 Ori Livneh 2014-01-12 11:44:52 UTC
(In reply to comment #1)
> By the current design, it's supposed to load only about 50 KB for
> interlanguage links. If it doesn't, maybe that's the problem?

It doesn't. That's the problem.
Comment 3 Nemo 2014-01-12 12:13:13 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > By the current design, it's supposed to load only about 50 KB for
> > interlanguage links. If it doesn't, maybe that's the problem?
> 
> It doesn't. That's the problem.

Are you sure it's loading fonts other than autonym for interlanguage links on that page? (You should be able to check by emptying the page.) If yes, I suggest to include information on what fonts get included that shouldn't, preferably with clear steps to reproduce/exact conditions triggering the mistake, and that can be addressed specifically.
Comment 4 Gerrit Notification Bot 2014-01-12 13:06:08 UTC
Change 107028 had a related patch set uploaded by Santhosh:
Wait till rendering thread completion before applying webfonts

https://gerrit.wikimedia.org/r/107028
Comment 5 Santhosh Thottingal 2014-01-12 13:06:57 UTC
The issue is present but not consistently reproducible. See http://i.imgur.com/W49VKZV.png

That could be the reason why browser tests(http://goo.gl/TMhdMg) did not pick up this.
Comment 7 Gerrit Notification Bot 2014-01-14 07:55:54 UTC
Change 107028 merged by jenkins-bot:
Wait till rendering thread completion before applying webfonts

https://gerrit.wikimedia.org/r/107028
Comment 8 Ori Livneh 2014-01-16 21:27:59 UTC
Created attachment 14331 [details]
Graph showing drop in bandwidth utilization of Bits caches after syncing I2da436caa
Comment 9 MZMcBride 2014-01-20 02:48:08 UTC
(In reply to comment #7)

I suppose this bug should no longer be marked PATCH_TO_REVIEW.
Comment 10 Nemo 2014-01-20 08:36:47 UTC
Created attachment 14348 [details]
bits bandwidth investigation around 1.23wmf10 wikipedias deployment peak, #wikimedia-operations, 2014-01-16

Ori pasted logs with context at https://gerrit.wikimedia.org/r/#/c/108192/ , apparently also related.
Comment 11 Nemo 2014-01-21 20:38:49 UTC
(In reply to comment #10)
> Ori pasted logs with context at https://gerrit.wikimedia.org/r/#/c/108192/ ,
> apparently also related.

That was committed and merged upstream too. I assume this is fixed, file a new report if needed. The general discussion continues at bug 56292 (mostly superseded by the axe-approach at bug 46306 though).

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links