Page MenuHomePhabricator

Audit modules 2018: Reduce registry overhead
Closed, ResolvedPublic

Description

T159911: Audit modules (2017) | T219342: Pageview performance timeline analysis (March 2019)


Follows-up on last year's T159911. This year, specifically focussing on:

  • deprecating and/or removing unused/unmaintained modules.
  • reducing overhead on startup registry where possible.

See also "Size of scripts" at https://www.mediawiki.org/wiki/Wikimedia_Performance_Team/Page_load_performance.

Overview

Startup response size breakdown
@Catrope and @Krinkle wrote for T192623 (as of 7 May 2018)

Network transfer: 29 K
Uncompressed content-length: 85,299
Breakdown:

  • mwPerf + mwNow + isCompatible + nojs/NORLQ handling + startUp.addSource: 1,195 bytes (1.4%)
  • startUp.register: 67,999 bytes (80%)
    • jquery.*: 3013 bytes
    • mediawiki.*: 8532 bytes (core modules)
      • mediawiki.widgets.*: 1042 bytes
    • oojs*: 1073 bytes
    • skins.*: 344 bytes
    • schema.*: 2464 bytes
    • ext.*: 51,857 bytes (Extension modules)
      • CentralNotice: 1125 bytes
      • VE+Citoid: 2912 bytes
      • mobile.* + Minerva: 3588 bytes
      • Echo+Thanks: 862 bytes
      • RelatedArticles+RevisionSlider+TwoColConflict: 1786 bytes
      • ULS: 912 bytes
      • ContentTranslation (CX): 6573 bytes T203695
      • Wikibase: 14,007 bytes T203696
      • Gadgets: 4956 bytes
      • TMH/mwEmbed: 1426 bytes
  • startUp.config: 15,537 bytes (18%)
  • RLQ handling + addScript: 485 (0.6%)

Details

Related Gerrit Patches:

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Krinkle updated the task description. (Show Details)Jan 10 2019, 11:23 PM
Krinkle updated the task description. (Show Details)
Krinkle updated the task description. (Show Details)Jan 18 2019, 6:20 AM

Change 485146 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] mediawiki.api: Remove deprecated module aliases

https://gerrit.wikimedia.org/r/485146

Change 434738 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/Translate@master] Avoid deprecated mediawiki.api aliases on MW 1.32+

https://gerrit.wikimedia.org/r/434738

Krinkle updated the task description. (Show Details)Jan 19 2019, 2:22 AM

Change 485355 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/WikiEditor@master] Remove deprecated ext.wikiEditor module aliases

https://gerrit.wikimedia.org/r/485355

Change 485357 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] Remove deprecated module alias "jquery.byteLimit"

https://gerrit.wikimedia.org/r/485357

Krinkle updated the task description. (Show Details)Jan 20 2019, 1:34 AM

Change 485481 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/MassMessage@master] Replace use of deprecated module alias 'jquery.byteLimit'

https://gerrit.wikimedia.org/r/485481

Change 434738 merged by jenkins-bot:
[mediawiki/extensions/Translate@master] Avoid deprecated mediawiki.api aliases on MW 1.32+

https://gerrit.wikimedia.org/r/434738

Change 485481 merged by jenkins-bot:
[mediawiki/extensions/MassMessage@master] Replace use of deprecated module alias 'jquery.byteLimit'

https://gerrit.wikimedia.org/r/485481

Krinkle added a comment.EditedJan 21 2019, 10:10 PM

Change 485355 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/WikiEditor@master] Remove deprecated ext.wikiEditor module aliases
https://gerrit.wikimedia.org/r/485355

tourbot.log

ext.wikiEditor.dialogs

  • mwgrep: 0 results
  • mwgrep--user: 2 results (fixed)

ext.wikiEditor.core

  • mwgrep: 0 results
  • mwgrep--user: 0 results

jquery.wikiEditor.toolbar.i18n

  • mwgrep: 0 results
  • mwgrep--user: 7 results (fixed)

jquery.wikiEditor.dialogs.config

  • mwgrep: 1 result (fixed)
  • mwgrep--user: 0 results

jquery.wikiEditor.dialogs

  • mwgrep: 0 results
  • mwgrep--user: 0 results

jquery.wikiEditor.core

  • mwgrep: 0 results
  • mwgrep--user: 0 results

jquery.wikiEditor

  • mwgrep: 9 results (fixed, skipped 3)
  • mwgrep--user: 31 results (fixed, skipped 9)

ext.wikiEditor.toolbar

  • mwgrep: 212 results (fixed, skipped 10)
  • mwgrep-definition: 14 results (fixed)
  • mwgrep--user: 567 results (fixed, skipped 32)
Krinkle updated the task description. (Show Details)Jan 22 2019, 8:32 PM

Change 485146 merged by jenkins-bot:
[mediawiki/core@master] mediawiki.api: Remove deprecated module aliases

https://gerrit.wikimedia.org/r/485146

Change 485357 merged by jenkins-bot:
[mediawiki/core@master] Remove deprecated module alias "jquery.byteLimit"

https://gerrit.wikimedia.org/r/485357

Change 485355 merged by jenkins-bot:
[mediawiki/extensions/WikiEditor@master] Remove deprecated ext.wikiEditor module aliases

https://gerrit.wikimedia.org/r/485355

Krinkle updated the task description. (Show Details)Jan 22 2019, 10:05 PM
Krinkle updated the task description. (Show Details)Jan 23 2019, 6:39 AM
Krinkle updated the task description. (Show Details)Jan 23 2019, 6:50 AM

We achieved quite a lot in two quarters with the thematic focus on reducing the registry footprint (blogpost to follow).

Given I kept adding to the list (sorry), it was kind of expected we couldn't complete them all. The below few remain recommendations in our radar, but we'll close the task without them. I consider it in part a failure on our part because we compiled the list without consulting with the affected teams and which quarter to schedule for it. This'll be a learning point for the next thematic focus so that we know what we can expect and could collaborate on, and when.

Task description:

I've moved these tasks to the radar as standing "Perf recommendation" to pick from at any time. We're always happy to help when the time comes. Meanwhile, our primary attention and thematic focus for the quarter will move onwards to another area. (TBD)

Krinkle updated the task description. (Show Details)Jan 23 2019, 6:56 AM
Krinkle updated the task description. (Show Details)Jan 29 2019, 7:41 PM
Krinkle raised the priority of this task from Medium to High.Feb 5 2019, 10:39 PM

Current (well, technically previous) quarter goal. Raising priority to reflect this so I won't forget.

Change 461247 had a related patch set uploaded (by Krinkle; owner: Catrope):
[mediawiki/core@master] resourceloader: Remove mediawiki.ForeignStructuredUpload.config module

https://gerrit.wikimedia.org/r/461247

Change 461247 abandoned by Krinkle:
resourceloader: Remove mediawiki.ForeignStructuredUpload.config module

Reason:
Looks like this has since been squashed into I203d4e3ecdeeeb16729eba2dcf40d11a4.

https://gerrit.wikimedia.org/r/461247

Closing as the quarter has ended last month. T203696 and T203695 will continue for a bit on their own. Thanks everyone!

Krinkle closed this task as Resolved.Feb 18 2019, 10:34 PM
Krinkle moved this task from Blocked or Needs-CR to Doing on the Performance-Team board.
Krinkle moved this task from Untriaged to Write about next on the Performance-Team-publish board.

Change 493997 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] resources: Remove 'jquery.xmldom' module

https://gerrit.wikimedia.org/r/493997

Change 493997 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] resources: Remove 'jquery.xmldom' module

https://gerrit.wikimedia.org/r/493997

Change 494003 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] resources: Remove 'jquery.mockjax' module

https://gerrit.wikimedia.org/r/494003

Change 494004 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] resources: Remove deprecated 'jquery.hidpi' module

https://gerrit.wikimedia.org/r/494004

Change 493997 merged by jenkins-bot:
[mediawiki/core@master] resources: Remove 'jquery.xmldom' module

https://gerrit.wikimedia.org/r/493997

Change 494003 merged by jenkins-bot:
[mediawiki/core@master] resources: Remove 'jquery.mockjax' module

https://gerrit.wikimedia.org/r/494003

Change 494004 merged by jenkins-bot:
[mediawiki/core@master] resources: Remove deprecated 'jquery.hidpi' module

https://gerrit.wikimedia.org/r/494004

Krinkle updated the task description. (Show Details)
Krinkle updated the task description. (Show Details)Mar 8 2019, 12:23 AM
Krinkle updated the task description. (Show Details)May 29 2019, 7:11 PM

Change 527945 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/Kartographer@master] Merge ext.kartographer.settings to the its parent

https://gerrit.wikimedia.org/r/527945

Change 527945 merged by jenkins-bot:
[mediawiki/extensions/Kartographer@master] Merge ext.kartographer.settings to the its parent

https://gerrit.wikimedia.org/r/527945

Change 528165 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/WikimediaMaintenance@master] Create blameStartupRegistry.php script

https://gerrit.wikimedia.org/r/528165

This comment was removed by Krinkle.

Change 528171 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/Thanks@master] Merge jquery.findWithParent.js into 'ext.thanks.flowthank'

https://gerrit.wikimedia.org/r/528171

Change 528171 merged by jenkins-bot:
[mediawiki/extensions/Thanks@master] Merge jquery.findWithParent.js into 'ext.thanks.flowthank'

https://gerrit.wikimedia.org/r/528171

DannyS712 updated the task description. (Show Details)Oct 27 2019, 5:02 PM
Restricted Application added a subscriber: Masumrezarock100. · View Herald TranscriptOct 27 2019, 5:02 PM