https://meta.wikimedia.org/wiki/Wikimedia_servers
https://wikitech.wikimedia.org/wiki/Network_design
Software
- Our DNS servers run gdnsd. We use geographical DNS to distribute requests between our five data centers (3x US, 1x 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