Jump to content

Wikimedia servers

From Meta, a Wikimedia project coordination wiki
This is an archived version of this page, as edited by 2607:fb91:686:d927:7505:4680:c89e:e4b2 (talk) at 15:35, 19 January 2024 (My page view agent please report). It may differ significantly from the current version.

Wikipedia and the other Wikimedia projects are run from server racks located in several data centres.

System architecture

Simplified overview of the MediaWiki software as deployed by Wikimedia Foundation (as of August 2022). Essentially a complex version of a LAMP "stack".

Network topology

The Wikimedia Foundation's network topology is described on the "Network design" page on Wikitech.

Software

  • Our DNS servers run gdnsd. We use geographical DNS to distribute requests between our six data centers (3x US, 2x Europe, 1x Asia) depending on the location of the client.
  • We use Linux Virtual Server (LVS) on commodity servers to load balance incoming requests. LVS is also used as an internal load balancer to distribute MediaWiki requests. For back end monitoring and failover, we have our own system called PyBal.
  • For regular MediaWiki web requests (articles/API) we use Varnish and Apache Traffic Server caching proxy servers in front of Apache HTTP Server.
  • All our servers run Debian GNU/Linux.
  • For distributed object storage we use Swift.
  • Our main web application is MediaWiki, which is written in PHP (~70 %) and JavaScript (~30 %).[1]
  • Our structured data is stored in MariaDB since 2013.[2] We group wikis into clusters, and each cluster is served by several MariaDB servers, replicated in a single-master configuration.
  • We use Memcached for caching of database query and computation results.
  • For full-text search we use Elasticsearch (Extension:CirrusSearch).
  • https://noc.wikimedia.org/ – Wikimedia configuration files.
Wikimedia server racks at CyrusOne

Hosting

As of September 2022, we have the following colocation facilities (each name is derived from an acronym of the facility’s company and an acronym of a nearby airport):

eqiad
Application services (primary) at Equinix in Ashburn, Virginia (Washington, DC area).
codfw
Application services (secondary) at CyrusOne in Carrollton, Texas (Dallas-Fort Worth area).
esams
Caching at EvoSwitch in Amsterdam, the Netherlands.[3]
ulsfo
Caching at United Layer in San Francisco.
eqsin
Caching at Equinix in Singapore.
drmrs
Caching at Digital Realty in Marseille.

History

The backend web and database servers are in Ashburn, with Carrollton to handle emergency fallback in the future. Carrollton was chosen for this as a result of the 2013 Datacenter RfC. At EvoSwitch, we have a Varnish 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, taking over from Tampa (pmtpa and sdtpa) which had been the main data centre since 2004. Around April 2014, sdtpa (Equinix – formerly Switch and Data – in Tampa, Florida, provided networking for pmtpa) was shut down, followed by pmtpa (Hostway – formerly PowerMedium – in Tampa, Florida) in October 2014.

In the past we've had other caching locations like Seoul (yaseo, Yahoo!) and Paris (lopar, Lost Oasis); the WMF 2010–2015 strategic plan reach target states: "additional caching centers in key locations to manage increased traffic from Latin America, Asia and the Middle East, as well as to ensure reasonable and consistent load times no matter where a reader is located."

EvoSwitch and Kennisnet are recognised as benefactors for their in-kind donations. See the current list of benefactors.

A list of servers and their functions used to be available at the server roles page; no such list is currently maintained publicly (perhaps the private racktables tool has one). It used to be possible to see a compact table of all servers grouped by type on icinga, but this is no longer publicly available. However, the puppet configuration provides a pretty good reference for the software that each server runs.

B-roll of servers in Texas in 2015

Status and monitoring

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-techconnect on irc.libera.chat. 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.

Xers ker

See also

More hardware info

  • wikitech:Clusters – technical and usually more up-to-date information on the Wikimedia clusters

Admin logs

Offsite traffic pages

Historical information

References

  1. See MediaWiki analysis, MediaWiki WMF-supported extensions analysis.
  2. "Wikipedia Adopts MariaDB" (text/html). blog.wikimedia.org. Wikimedia Foundation, Inc. 2013-04-22. Retrieved 2014-07-20. 
  3. Suffered a major DoS attack on September 6/7, 2019. See dedicated article on WMF website.