Would be cool to know what extensions you’re using on MediaWiki and how you’ve set it up to maximize performance. These wikis seem really quick to respond.
Thanks! I've been meaning to write up a post that talks about some of the specific tricks we're using. A couple big ones:
- Heavy use of Cloudflare Workers to cache ~95% of logged-out pageviews, with a particular focus on doing a lot of edge-side modifications to minimize cache fragmentation
- Using the MediaWiki jobrunners to repopulate the parser cache before pageviews are requested, so even when pageviews hit the server, there's a high chance that the core contents have already been computed somewhere
- I realized that MediaWiki latency is usually dominated by I/O wait time. For example, some pageviews require thousands of synchronous database/redis cache reads, so the difference between 0.5ms lookup and 0.1ms lookup adds up. So we colocated more of those caches on the same physical machines as the webservers that were reading them, which on average dropped latency by ~40%
Thanks! I've been meaning to write up a post that talks about some of the specific tricks we're using. A couple big ones:
- Heavy use of Cloudflare Workers to cache ~95% of logged-out pageviews, with a particular focus on doing a lot of edge-side modifications to minimize cache fragmentation
- Using the MediaWiki jobrunners to repopulate the parser cache before pageviews are requested, so even when pageviews hit the server, there's a high chance that the core contents have already been computed somewhere
- I realized that MediaWiki latency is usually dominated by I/O wait time. For example, some pageviews require thousands of synchronous database/redis cache reads, so the difference between 0.5ms lookup and 0.1ms lookup adds up. So we colocated more of those caches on the same physical machines as the webservers that were reading them, which on average dropped latency by ~40%