I'm new to MediaWiki and currently exploring caching strategies to improve the performance of my wiki setup. Specifically, I have a scenario where MediaWiki is deployed in Kubernetes with multiple replicas running simultaneously.
I would appreciate any insights or best practices for managing caching in this environment, especially when it comes to the localization (L10N) cache.
I have a few specific questions:
1. Apart from upgrades and extension changes, are there any other scenarios where the localization cache changes? 2. Is it possible for multiple MediaWiki instances (with the same codebase) to share a common L10N cache? 3. What are the recommended strategies for handling caching in a multiple replica setup?
Thank you in advance for your help!
On Tue, Sep 24, 2024 at 1:12 AM dileep.paladugu--- via MediaWiki-l mediawiki-l@lists.wikimedia.org wrote:
I'm new to MediaWiki and currently exploring caching strategies to improve the performance of my wiki setup. Specifically, I have a scenario where MediaWiki is deployed in Kubernetes with multiple replicas running simultaneously.
I would appreciate any insights or best practices for managing caching in this environment, especially when it comes to the localization (L10N) cache.
I have a few specific questions:
- Apart from upgrades and extension changes, are there any other scenarios where the localization cache changes?
LocalisationCache[0] is only concerned with message strings from the PHP source code so it only needs to change when you change the source (MediaWiki core + extensions + skins).
- Is it possible for multiple MediaWiki instances (with the same codebase) to share a common L10N cache?
Yes, the Wikimedia production wikis are a good example of this. During the deployment process we build a "files" cache of CDB files[1][2] once and reuse that cache with every wiki in the cluster (800+ wikis).
- What are the recommended strategies for handling caching in a multiple replica setup?
In the containerized scenario you describe it seems likely that you are already performing some local build step to add your used skins and extensions to the MediaWiki core along with your LocalSettings.php. It could be reasonable to follow the lead of the Wikimedia projects and also include CDB file based cache data in the image itself.
[0]: https://www.mediawiki.org/wiki/Manual:LocalisationCache.php [1]: https://www.mediawiki.org/wiki/Manual:$wgLocalisationCacheConf [2]: https://www.mediawiki.org/wiki/Manual:RebuildLocalisationCache.php
Bryan
mediawiki-l@lists.wikimedia.org