维基媒体服务器
维基百科和其他维基媒体项目是在座落於數個資料中心內的服务器的机架上运行。
系统架构

网络拓扑
软件
- 我们的DNS服务器运行gdnsd。我们使用地理DNS在我们的七个数据中心(3个位于美国、2个位于欧洲、1个位于亚洲、1个位于南美洲)之间根据客户端的位置分发请求。
- 我们在服务器上使用LVS来对传入请求进行负载平衡。LVS还用作内部负载平衡器来分发MediaWiki请求。对于后端监控和故障转移,我们有自己的系统,称为PyBal。
- 对于常规的MediaWiki Web请求(文章/API),我们在Apache HTTP Server前面使用Varnish和Apache Traffic Server缓存代理服务器。
- 所有的服务器都运行Debian GNU/Linux。
- 对于分布式对象存储,我们使用 Swift。
- 我们主要的Web应用程序是MediaWiki,主要由PHP(~70%)和JavaScript(~30%)组成。[1]
- 自2013年以来,我们的结构化数据存储在MariaDB中[2]。我们将wiki分散到集群中,每个集群由多个MariaDB服务器提供服务,并在单主配置中复制。
- 我们使用Memcached来缓存数据库查询和计算结果。
- 对于全文搜索,我们使用OpenSearch (Extension:CirrusSearch)。
- https://noc.wikimedia.org/ - 维基媒体配置文件

主机
截至2024年4月為止,我们拥有以下托管设施(每个名称均来自设施公司的首字母缩写词和附近机场的首字母缩写词,Magru資料中心除外):
- eqiad
- 应用服务(主要)在弗吉尼亚州阿什本(华盛顿特区地区)Equinix公司。
- codfw
- 应用服务(次级)在Carrollton, Texas(达拉斯-沃斯堡地区)的CyrusOne公司。
- esams
- 在荷兰阿姆斯特丹中的EvoSwitch缓存。[3]
- ulsfo
- 在旧金山的United Layer缓存。
- eqsin
- 在新加坡中的Equinix中缓存。
- drmrs
- 在法國马赛的Digital Realty中缓存。
- magru
- 在巴西的聖保羅中缓存
历史
后端Web和数据库服务器位于阿什本,Carrollton负责处理未来的紧急后备。作为2013年数据中心RfC的结果,Carrollton被选中。在EvoSwitch,我们有一个Varnish缓存集群和几个杂项服务器。Kennisnet位置现在仅用于网络访问和路由。
Ashburn(eqiad)于2013年一月成为了主要数据中心,替代了自2004年起使用的Tampa (pmtpa与sdtpa)。在2014年4月左右,sdtpa(Equinix – 前Switch and Data – 位于 Tampa, Florida, 为pmtpa提供网络服务)被关闭,pmtpm(Hostway – 前 PowerMedium – 位于 Tampa, Florida)随后于10月被关闭。
在過去,我們有其他的緩存伺服器,包含坐落於首爾的"yaseo", Yahoo!以及位在巴黎的”lopar“, Lost Oasis。WMF 2010–2015 戰略計劃達到目標指出:“應在關鍵的地理位置適當的增加緩存伺服器中心,以確保任何地方的讀者都可以獲得相同的加載速度“
EvoSwitch和Kennisnet被公认为他们的in-kind捐赠的捐助者。参见当前的捐助者名单。
服务器角色页面上曾经提供的服务器及其功能列表;目前没有公开维护这样的列表(也许私有racktables 工具有一个)。过去可以在icinga上看到按类型分组的所有服务器的紧凑表,但现在不再公开可用。puppet configuration为每个服务器运行的软件提供了很好的参考。
In 2016, Wikimedia performed its first data center switchover, temporarily promoting codfw to the role of primary data center and relegating eqiad to secondary. This process was repeated in 2017, 2018, and 2020 and 2021. Since 2023, eqiad has served as the primary data center from March through September, whereas Codfw has served as primary data center from September through March.
状态和监控
如果您想知道维基媒体服务器是否过载,或者您只想查看它们的运行情况,您可以查看以下站点之一。
- https://www.wikimediastatus.net/
- Grafana
数据中心概览总带宽、非空闲 CPU 和每组服务器的负载;版本也存在per-subcluster dropdown和没有图表的总数(2019年7月下线)- https://grafana.wikimedia.org/ 应该可以让你开始
- 网络延迟
- Icinga (私有)
如果您实时看到错误,请访问irc.libera.chat上的#wikimedia-tech连接。检查主题以查看是否有人已经在调查您遇到的问题。如果没有,请向频道提报您的问题。如果您能报告具体的症状,包括任何错误消息的确切文本、您在错误发生前所做的事情以及产生错误的服务器,那将会很有帮助(如果您能告诉的话)。
能源使用
2017年,世界货币基金组织董事会通过了一项决议,其中包含了将基金会的整体环境影响降至最低的承诺,特别是围绕数据中心通过使用绿色能源。 創立於2015年由社群主導的可持续发展倡议,旨在通过呼吁使用可再生能源为服务器供电来减少服务器对环境的影响。
维基媒体基金会的服务器分布在美国弗吉尼亚州、德克萨斯州和旧金山、欧洲的阿姆斯特丹和馬賽等五个托管数据中心。
2021年,服务器每年使用了358.8kW(千瓦),总计约为3.143GW h(百萬千瓦小时)的电能。2021年,服务器的总碳足迹为1,073公吨二氧化碳当量。[4]
在阿姆斯特丹和馬賽只有少数几台服务器使用可再生能源,其他服务器使用不同的传统能源组合。在2016年,维基媒体基金会数据中心的能源中只有9%来自可再生能源,其余的在煤炭、天然气和核能之间平均分配(分别为34%、28%、28%)。维基媒体基金会的大部分电力需求来自弗吉尼亚州和德克萨斯州,这两个地区都拥有大量使用化石燃料的电网。
| 服务器名称 | 数据中心位置 | 提供者 | 启用时间 | 平均能耗(千瓦) | 能源 | 碳足迹(CO2/年) | 可再生选择和成本 |
|---|---|---|---|---|---|---|---|
| eqiad | Ashburn, VA
20146-20149 USA |
Equinix (网站) | 2011年2月 | 2016年5月:130
2015年5月:152 |
2016年: 32% 煤 20% 天然气 25% 核能 17% 再生能源 |
1,040,000磅=520短吨=470公吨
= 0.32 * 130 kW * 8765.76 hr/yr * 2.1 lb CO2/千瓦小时,針對煤 + 0.20 * 130 kW * 8765.76 hr/yr * 1.22lb CO2/千瓦小时,針對天然氣 + 0.25 * 130 kW * 8765.76 hr/yr * 0 lb CO2/千瓦小时,針對核能 + 0.17 * 130 kW * 8765.76 hr/yr * 0 lb CO2/千瓦小时,針對再生能源 |
2015年,Equinix 發佈长期承诺使用100%清洁和可再生能源。2017年,Equinix更新此一承诺。 |
| codfw | Carrollton, TX
75007 USA |
CyrusOne (网站) | 2014年5月 | 2016年5月:77
2015年5月:70 |
2016年: 23% 煤 56% 天然气 6% 核能 1% 水力/生物质/太阳能/其他 14% 风能 |
790,000 lb = 400 short tons = 360 metric tons
= 0.23 * 77 kW * 8765.76 hr/yr * 2.1 lb CO2/千瓦小时,針對煤 + 0.56 * 77 kW * 8765.76 hr/yr * 1.22lb CO2/千瓦小时,針對天然氣 + 0.06 * 77 kW * 8765.76 hr/yr * 0 lb CO2/千瓦小时,針對核能 + 0.15 * 77 kW * 8765.76 hr/yr * 0 lb CO2/千瓦小时,針對再生能源 |
? |
| esams | Haarlem
2031 BE Netherlands |
EvoSwitch (网站) | 2008年12月 | 2016年5月:<10
2015年5月:10 |
风电、水电、生物质的结合 | 0 | 不适用 |
| ulsfo | San Francisco, CA
94124 USA |
UnitedLayer (网站) | 2012年6月 | 2016年5月:< 5
2015年5月:< 5 |
2016年: 25% 天然气 23% 核能 30% 再生能源 6% 水力 17% 未指定 (PG&E) |
13,000 lb = 6.7 short tons = 6.1 metric tons (+ unspecified)
= 0.00 * 5 kW * 8765.76 hr/yr * 2.1 lb CO2/千瓦小时,針對煤 + 0.25 * 5 kW * 8765.76 hr/yr * 1.22lb CO2/千瓦小时,針對天然氣 + 0.23 * 5 kW * 8765.76 hr/yr * 0 lb CO2/千瓦小时,針對核能 + 0.36 * 5 kW * 8765.76 hr/yr * 0 lb CO2/千瓦小时,針對水力發電或再生能源 + 0.17 * 5 kW * 8765.76 hr/yr * ? lb CO2/千瓦小时,針對其他未明確分類的能源 |
? |
| eqsin | Singapore | Equinix (网站) | ? | ? | ? | ? | ? |
| drmrs | Marseille | Digital Realty (网站) | ? | ? | ? | ? | ? |
参见
更多硬件信息
- wikitech:Clusters – 维基媒体叢集上的技术信息和通常更新的信息
管理员日志
- 服务器管理员日志——记录服务器更改(尤其是软件更改)
异地流量页面
历史信息
- 缓存策略(2006年的草案)
- PHP缓存和优化(2007年的草案)
- 到2007年的硬件订单
參考資料
- ↑ 参见MediaWiki analysis和MediaWiki WMF-supported extensions analysis。
- ↑ "Wikipedia Adopts MariaDB" [维基百科采用MariaDB] (text/html). blog.wikimedia.org. Wikimedia Foundation, Inc. 2013-04-22. Retrieved 2014-07-20.
- ↑ 在2019年9月6日/7日遭受了一次重大的DoS攻击。参见维基媒体基金会网站上的相关文章。
- ↑ Wikimedia Foundation Environmental Sustainability (Carbon Footprint) Report for 2021