Statistics and anecdotes about PHP at scale.
10 posts • View all posts
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.
How does Internet Archive know?
The Internet Archive discovers in real-time when WordPress blogs publish a new post, and when Wikipedia articles reference new sources. How does that work?
Profiling PHP in production at scale
At Wikipedia, we built an efficient sampling profiler for PHP, and use it to instrument live requests. The trace logs and flame graphs are powered by a simple setup that involves only free open-source software, and runs at low infrastructure cost.
Should I substr(), substring(), or slice()?
What’s the deal with these string methods, and how are they different?
How to protect yourself from npm
What’s the worst that could happen after npm install?
Measuring Wikipedia page load times
This post shows how we measure and interpret load times on Wikipedia. It also explains what real-user metrics are, and how percentiles work.
Today, I’d like to challenge the assert.ok and assert.not* methods. I believe they may’ve become an anti-pattern.
PhantomJS for CI (anno 2014)
How did Apple create Safari, and what is PhantomJS?