Testing Encyclopedias in Production
summary
Wikimedia migrates from HHVM/PHP5 to php-fpm and PHP7 serving ~100k req/s and ~22 billion page views monthly, using a gradual cookie-based rollout that reaches 50% logged-in traffic then converts API and job clusters to reach 100% live traffic in five months. Built a PHP extension (eximer) for wall-clock profiling, added connection-proxy sidecars for pooling, and relied on production canaries and 10k volunteer opt-ins; migration succeeds with extra caching and some data-workarounds.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:33Did you know...
- 2:11Wikimedia Projects
- 3:38Wikimedia Infrastructure
- 4:31Production Overview (2017)
- 4:51Edge Caches (2017)
- 5:27MediaWiki
- 8:51PHP-FPM
- 10:40Main Challenges
- 12:34Setting it up
- 13:49Barack Obama (with cache)
- 14:31Australia p95 (no cache)
- 18:23Have a PHP7 cookie!
- 21:12Transitional Production
- 23:38A winding road
- 25:40The long tail: jobs
- 27:10Cleaning up
- 28:37The bugs that haunt us
- 29:50HTTP connection pooling
- 31:21Runtime profiling
related talks
42mTesting in production for fun and profit
43mStepping into the future: Migrating & Deploying PHP7
58mMassively Scaled High Performance Web Services with PHP
36mApache, nginx, Docker and the Swear Words We Love
37mWikimedia Content API: A Cassandra Use-case
10mSurviving the 2008 Elections
25mFrom PHP and on-prem servers to NodeJS/React and AWS
34mZero Downtime Database Migrations and Deployments
