• Skip to main navigation
  • Skip to main content
  • Skip to footer
  • Home
  • About
  • Further Reading
  • Skip to menu toggle button

[[WM:TECHBLOG]]

Open Source for Open Knowledge

Tag: web performance

Flame graphs arrive in WikimediaDebug

The new “Excimer UI” option in WikimediaDebug generates flame graphs. What are flame graphs, and when do you need this?
Continue reading “Flame graphs arrive in WikimediaDebug”…
Posted on: June 8, 2023 Last updated on: June 8, 2023 Comments: 0 Timo Tijhof

Around the world: How Wikipedia became a multi-datacenter deployment

Learn why we transitioned the MediaWiki platform to serve traffic from multiple data centers, and the challenges we faced along the way.
Continue reading “Around the world: How Wikipedia became a multi-datacenter deployment”…
Posted on: May 8, 2023 Last updated on: May 15, 2023 Comments: 3 Aaron Schulz and Timo Tijhof
Long exposure of highway with downtown skyscraper in the background of an unidentified city. There are green grass hills on both sides and a bright moon in the sky.

Perf Matters at Wikipedia in 2016

Looking back at our ups and downs. 
Continue reading “Perf Matters at Wikipedia in 2016”…
Posted on: December 8, 2022 Last updated on: May 9, 2023 Timo Tijhof and Aaron Schulz

Web Perf Hero: Valentín Gutierrez

Today we celebrate two numbers: 25% lower latency for ATS backend requests at the p75, and up to 1000X reduction of ATS disk read latency at the p999.
Continue reading “Web Perf Hero: Valentín Gutierrez”…
Posted on: November 21, 2022 Last updated on: June 8, 2023 Timo Tijhof
A graph of SPDY usage vs time to first paint

HTTP/2 performance revisited

Deploying HTTP/2 support to the Wikimedia CDN significantly changed how browsers negotiate and transfer data during the page load process. We found regressions in performance during the transition and are sharing the lessons we learned.
Continue reading “HTTP/2 performance revisited”…
Posted on: November 4, 2022 Last updated on: March 16, 2023 Timo Tijhof
https://commons.wikimedia.org/wiki/File:Tendril.jpg

How we improved performance of a batch process from two days to five minutes

The Growth team recently improved the performance of a script that prepares data for usage in the mentor dashboard. Learn about how they decreased the average runtime of the script from more than 48 hours to less than five minutes.
Continue reading “How we improved performance of a batch process from two days to five minutes”…
Posted on: October 29, 2021 Last updated on: November 21, 2022 Martin Urbanec

Profiling PHP in production at scale

We built an efficient sampling profiler for PHP. It runs continually in production on live requests, and generates trace logs and flame graphs.
Continue reading “Profiling PHP in production at scale”…
Posted on: March 3, 2021 Last updated on: May 29, 2023 Timo Tijhof

Web performance case study: Wikipedia page previews

Preview popups are common and requires careful scripting and styling; they can generate useful learning about performance as a reference for other front-end tasks.
Continue reading “Web performance case study: Wikipedia page previews”…
Posted on: November 23, 2020 Last updated on: March 16, 2023 Noam Rosenthal

Impact of using HTTP connection pooling for PHP applications at scale

This post explores the challenges of running PHP applications at a large scale and discusses the effect of using Envoy on MediaWiki applications.
Continue reading “Impact of using HTTP connection pooling for PHP applications at scale”…
Posted on: October 26, 2020 Last updated on: December 1, 2020 Comments: 1 Giuseppe Lavagetto
https://commons.wikimedia.org/wiki/File:North_America_from_low_orbiting_satellite_Suomi_NPP.jpg

Wikimedia’s CDN up to 2018: Varnish and IPSec

The 1st of a 3 part series that will describe some of the changes, which included replacing Varnish with Apache Traffic Server (ATS) as the on-disk HTTP cache component of the CDN.
Continue reading “Wikimedia’s CDN up to 2018: Varnish and IPSec”…
Posted on: October 14, 2020 Last updated on: November 4, 2022 Comments: 1 Emanuele Rocca
1 2 3 4 Next page »

Recent Posts

  • Flame graphs arrive in WikimediaDebug
  • Around the world: How Wikipedia became a multi-datacenter deployment
  • From hell to HTML: releasing a Python package to easily work with Wikimedia HTML dumps
  • Perf Matters at Wikipedia in 2016
  • How we’re building our Kubernetes pipeline in GitLab

Archives

  • June 2023
  • May 2023
  • February 2023
  • December 2022
  • November 2022
  • October 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • December 2019
  • October 2019
  • September 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • October 2018
  • September 2018
  • June 2018
  • February 2018
  • January 2018
  • November 2017
  • July 2017
  • June 2017
  • December 2014

Categories

  • Architecture Team
  • Cloud Services
  • Community
  • Growth Team
  • Infastructure
  • Learning & How To
  • Machine Learning
  • Parsing
  • Performance Team
  • Release Engineering
  • Research & Analytics
  • Search Platform
  • Site Reliability Engineering
  • Uncategorized
  • Wikidata
  • Wikimedia Product
Wikimedia Foundation Logo

Privacy Policy | About

Wikipedia® and other Wikimedia project names and logos are registered trademarks of the Wikimedia Foundation, a non-profit organization.

Unless otherwise stated content is licensed under a CC BY-SA 4.0 international license.

Powered by WordPress.com VIP, Automattic Privacy Notice.

Learn more about the
Wikimedia Foundation

Follow us on Twitter @wikimediatech