Wikimedia servers
![]() |
This page is outdated, but if it were updated, it may still be useful. Please help by correcting, augmenting and revising the text into an up-to-date form. |
Other languages: de, eo, es, fr, it, ja, ko, zh, ua
Wikipedia and the other Wikimedia projects are run from several racks full of servers.
See also:
|
System architecture

- Our DNS servers run PowerDNS. We use geographical DNS to distribute requests between our two main sites (US and Europe) depending on the location of the client.
- We use LVS on commodity servers to load-balance incoming requests. LVS is also used as an internal load balancer to distribute MediaWiki and Lucene backend requests. For backend monitoring and failover, we have our own system called PyBal.
- For HTML we use Squid and Varnish caching proxy servers in front of Apache. For image files, we use Squid/Varnish in front of Sun Java System Web Server.
- All our servers run Ubuntu Linux, except for the image file storage servers which run Solaris.
- Our main web application is MediaWiki, which is written in PHP.
- Our structured data is stored in MySQL. We group wikis into clusters, and each cluster is served by several MySQL servers, replicated in a single-master configuration.
- We use memcached for caching of database query and computation results.
- For full-text search we use Lucene, with extensive customisations contributed by Robert Stojnic.
- http://noc.wikimedia.org/conf/ - Wikimedia configuration files
Hosting
For a list of servers, please see server roles.
As of 2012, we have four colocation facilities:
- eqiad
- Ashburn, Virginia
- pmtpa
- Hostway (formerly PowerMedium) in Tampa, Florida.
- sdtpa
- Equinix (formerley Switch and Data) in Tampa, Florida.
- knams
- Kennisnet in Amsterdam, the Netherlands.
- esams
- EvoSwitch in Amsterdam, the Netherlands.
The backend web and database servers are in Ashburn and a partial fallback is divided between our two Tampa facilities; as of July 2013, plans are known "to finally decommission" Tampa in 2013-14. At EvoSwitch, we have a Squid cache cluster and several miscellaneous servers. The Kennisnet location is now used only for network access and routing.
Ashburn (eqiad) became the primary data center in January 2013. In the past we've had other caching locations like Seoul (yaseo) and Paris.
EvoSwitch and Kennisnet are recognised as benefactors for their in-kind donations. See the current list of benefactors.
Donations
While Wikipedia is free in both the "free speech" and "no charge" senses of the word, running the web site does cost money. You can help with purchasing new server hardware by donating to the non-profit Wikimedia Foundation: http://wikimediafoundation.org/wiki/Donate
Status and problems
You can check one of the following sites if you want to know if the Wikimedia servers are overloaded, or if you just want to see how they are doing.
If you are seeing errors in real time, visit #wikimedia-tech on irc.freenode.net. Check the topic to see if someone is already looking into the problem you are having. If not, please report your problem to the channel. It would be helpful if you could report specific symptoms, including the exact text of any error messages, what you were doing right before the error, and what server(s) are generating the error, if you can tell. The #wikipedia channel may be better populated and the topic there may contain more updated information about the status of the problem. (But this channel is for general conversation about Wikipedia.)
See also
More hardware info
- Technical FAQ - How about the hardware?
- Your donations at work: new servers for Wikipedia, by Brion Vibber, 02-12-2009
Admin logs
- Server admin log - Documents server changes (especially software changes)
Offsite traffic pages
Long-term planning
Out of date information
Useful information about other sites
- Evolution of LiveJournal systems:
- 04/2004 MySQLCon 2004 PDF/SXI
- 07/2004 OSCON 2004 PDF/SXI
- 11/2004 LISA 2004 PDF/SXI
- 04/2005 MySQLCon 2005 PDF/PPT/SXI
- journals to watch for system details: Brad (Fitzpatrick) lj_backend lj_maintenance
- Google cluster architecture (PDF)
- MySQL User's Conference 2004 blog highlights