Wikimedia Performance Team

From mediawiki.org
The team was disbanded with the re-org that happened in July 2023
This page is a general introduction to the Performance Team. For a technical deep dive, refer to Wikitech.

Mission[edit]

As the Wikimedia Foundation’s Performance Team, we create value for readers and editors by making it possible to retrieve and render content at the speed of thought, from anywhere in the world, on the broadest range of devices and connection profiles.

We focus on providing equal access to a frustration-free experience, regardless of whether someone is using a brand-new laptop on a fast network in a large metropolitan area, or if they're using an inexpensive mobile device in a rural area with unreliable internet connectivity.

Team[edit]

Follow our quarterly goals progress or take a look at our Phabricator workboard

Values[edit]

Outreach. Our team strives to develop a culture of performance first within the Wikimedia movement. We ensure that performance is a prime consideration in technological and product developments across the movement.

Monitoring. By developing better tooling, designing better metrics, automatically tracking regressions, all in a way that can be reused by anyone, we monitor the right metrics and discover issues that can sometimes be hard to detect.

Empower others. We help the organization make better choices regarding performance.

Improvement. Some performance gains require a very high level of expertise and complex work to happen before they are possible. We undertake complex projects that can yield important performance gains in the long run.

Contact[edit]

Intake process[edit]

Refer to Performance Review. Note that our main review starts after the changes or features are deployed to the Beta Cluster.

Self-service guidelines and tools[edit]

Here you can find most of our available tools and guides. Feel free to reach out to us if you can't find what you are looking for.

Public data and open source[edit]

Public datasets that may be of interest:

  • Grafana - We run our Grafana installation in public. Dashboards include Navigation Timing and Page drilldown (Synthetic testing).
  • Flame Graphs - Daily and hourly flame graphs from Arc Lamp, detailing how backend time is spent on the MediaWiki PHP servers that power Wikipedia.
  • AS Report - Periodic comparison of backbone connectivity from different Internet service providers, based on anonymised Navigation Timing and CPU benchmark datasets.

A selection of open-source software we maintain:

  • NavigationTiming extension - [JS] MediaWiki extension to send performance beacons with Navigation Timing and Paint Timing API metrics.
  • sitespeed.io - Synthetic tests collecting user journey performance metrics.
  • php-excimer - [C] Low-overhead sampling profiler and interrupt timer for PHP.
  • wikimedia/arc-lamp - [PHP] Use Excimer to collect profile samples and aggregate these from production into flame graphs.
  • ResourceLoader - [PHP] MediaWiki's delivery system for JavaScript, CSS, interface icons, and localisation text.
  • BagOStuff - [PHP] MediaWiki's abstraction layer for object caching.
  • For a full list of components we maintain and operate at Wikimedia in production, refer to Maintainers.
  • For a list of open source packages we publish, refer to Wikimedia Open Source.

Milestones[edit]

Presentations and blog posts[edit]