You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org
Caching overview
Jump to navigation
Jump to search
Picture
__________________ | browser/the webz | |__________________| | | | ____________________ | LVS | | (load balancer) | |____________________| | | | | __________________________________________________________ | Front End Caches (Squid or Varnish) | | Short lived caches (~10sec, mostly to prevent DDOS) | | Live in memory | |__________________________________________________________| | | | _____________________________________ | Back End Caches (Squid or Varnish) | | Longer lived caches | | Live on disk | |_____________________________________| | | | _______________________________ | Mediawiki | | Apaches | | parsercache | | * Currently set at 1 year | |_______________________________|
Caching Systems
- Squid: text, upload in pmtmp
- Varnish: bits, mobile, and upload in eqaid
Caching Settings
- Default squid cache expiration is 30 days.
- Default parsercache expiration is 365 days
Current method for invalidating cache content
For ParserCache:
- puppet: manifests/misc/maintenance.pp
- class misc::maintenance::parsercachepurging
- Set to 30 days
- class misc::maintenance::parsercachepurging
Ways forward
option 1:
- reduce parsercache timeout to size of deployment window (~28 days)
- Tim may have knowledge why that shouldn't happen
option 2:
- change away from version numbers in URLs
- maybe use slots or something else
- what to do with things that need to be versioned, eg: skins?
- related: not using versioned urls in code that makes it to main html output
option 3:
- status quo
option 4:
- ???