[Mediawiki-l] Load Balancing?

Domas Mituzas midom.lists at gmail.com
Wed Jan 24 23:28:09 UTC 2007


Hi!

> Wikimedia uses a single master and multiple slaves in a replication
> environment. Our biggest wiki, the English Wikipedia, has a separate
> master to that of the other wikis, and a separate slave cluster, I
> believe.

Indeed, there's no better example of scaled out mediawiki than  
Wikipedia.
Even for single wiki, say English Wikipedia we use following  
distribution:

- Multiple tiers of Squids
- Multiple Apache/PHP servers, running MediaWiki
- Multiple memcached servers for object cache and various not-very- 
persistent storage
- Multiple Lucene hosts serving search
- Multiple clusters (groups) of external storage nodes, each  
consisting of small master-slaves replication system carrying a  
subset of texts
- Master database
- Slave databases for general DB use ( can be promoted to master, if  
needed)
- Slave databases allocated for specific DB use (as Ariel serves  
watchlists)
- Slave databases extended/built for specific DB use (extended  
indexing on db6 to allow faster contributions access)
- Multiple hosts running job queue (delayed tasks)
- Multiple load balancers between various components.

Once you need to scale more than English wikipedia, we can discuss  
about additional possibilities to split some of the tasks.
All the code for above load balancing is inside mediawiki.

Cheers,
-- 
Domas Mituzas -- http://dammit.lt/ -- [[user:midom]]





More information about the MediaWiki-l mailing list