维基媒体服务器

This page is a translated version of the page Wikimedia servers and the translation is 92% complete.
Other languages:
Bahasa Indonesia • ‎English • ‎Esperanto • ‎Tagalog • ‎dansk • ‎español • ‎magyar • ‎português • ‎português do Brasil • ‎svenska • ‎русский • ‎বাংলা • ‎മലയാളം • ‎中文 • ‎日本語
維基媒體元維基

參與:

在维基百科上的其他语言版本: de, es, fr, it, ja, ko, zh, uk

维基百科和其他维基媒体项目运行在几个满载服务器的机架上。另请参阅维基媒体基金会的技术博客Phabricator用户的博客文章

系统架构

 
维基媒体基金会部署的MediaWiki软件的简化概述(截至2020年1月),本质上是LAMP集群的复杂版本

网络拓扑

网络拓扑在Wikitech的“网络设计”中有描述。

软件

  • 我们的DNS服务器运行gdnsd。我们使用地理DNS在我们的五个数据中心(3个位于美国、1个位于欧洲、1个位于亚洲)之间根据客户端的位置分发请求。
  • 我们在服务器上使用LVS来对传入请求进行负载平衡。LVS还用作内部负载平衡器来分发MediaWiki请求。对于后端监控和故障转移,我们有自己的系统,称为PyBal
  • 对于常规的MediaWiki Web请求(文章/API),我们在Apache HTTP Server前面使用VarnishApache Traffic Server缓存代理服务器。
  • 所有的服务器都运行Debian GNU/Linux
  • 对于分布式对象存储,我们使用 Swift
  • 我们主要的Web应用程序是MediaWiki,主要由PHP(~70%)和JavaScript(~30%)组成。[1]
  • 自2013年以来,我们的结构化数据存储在MariaDB中$维基百科采用MariaDB。| accessdate=2014-07-20 | authorlink=https://blog.wikimedia.org/author/asher/ | date=2013-04-22 | format=text/html | work=blog.wikimedia.org | publisher=Wikimedia Foundation, Inc. | language=english }}</ref>。我们将wiki分散到集群中,每个集群由多个MariaDB服务器提供服务,并在单主配置中复制。
  • 我们使用Memcached来缓存数据库查询和计算结果。
  • 对于全文搜索,我们使用Elasticsearch (Extension:CirrusSearch)。
  • https://noc.wikimedia.org/-维基媒体配置文件
 
CyrusOne的维基媒体服务器机架

主机

截至2018年5月,我们拥有以下托管设施(每个名称均来自设施公司的首字母缩写词和附近机场的首字母缩写词):

eqiad
应用服务(主要)在弗吉尼亚州阿什本(华盛顿特区地区)Equinix公司
codfw
应用服务(二级)在Carrollton, Texas(达拉斯-沃斯堡地区)的CyrusOne公司
esams
缓存在荷兰阿姆斯特丹中的EvoSwitch[2]
ulsfo
旧金山United Layer缓存。
eqsin
新加坡中的Equinix中缓存。

历史

后端Web和数据库服务器位于阿什本,Carrollton负责处理未来的紧急后备。作为2013年数据中心RfC的结果,Carrollton被选中。在EvoSwitch,我们有一个Varnish缓存集群和几个杂项服务器。Kennisnet位置现在仅用于网络访问和路由。

Ashburn(eqiad)于2013年一月成为了主要数据中心,替代了自2004年起使用的Tampa (pmtpasdtpa)。在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为每个服务器运行的软件提供了很好的参考。

2015年德克萨斯州服务器B卷

状态和监控

如果您想知道维基媒体服务器是否过载,或者您只想查看它们的运行情况,您可以查看以下站点之一。

如果您实时看到错误,请访问irc.libera.chat上的#wikimedia-tech连接。检查主题以查看是否有人已经在调查您遇到的问题。如果没有,请向频道报告您的问题。如果您能报告具体的症状,包括任何错误消息的确切文本、您在错误发生前所做的事情以及产生错误的服务器(如果您能告诉的话),那将会很有帮助。

能源使用

可持续发展倡议旨在通过呼吁使用可再生能源为服务器供电来减少服务器对环境的影响。

维基媒体基金会的服务器分布在美国弗吉尼亚州、德克萨斯州和旧金山、欧洲的阿姆斯特丹和亚洲的新加坡的五个托管数据中心。截至2016年5月,服务器使用222kW,总计每年2GWh的电能。相比之下:美国家庭平均每年使用11MWh,德国平均为3MWh/年。

阿姆斯特丹只有少数几台服务器使用可再生能源,其他服务器使用不同的传统能源组合。总体而言,维基媒体基金会数据中心的能源中只有9%来自可再生能源,其余的在煤炭、天然气和核能之间平均分配(分别为34%、28%和28%)。维基媒体基金会的大部分电力需求来自弗吉尼亚州和德克萨斯州,不幸的是,这两个国家都拥有大量使用化石燃料的电网。

服务器名称 数据中心位置 提供者 开启时间 平均能耗(千瓦) 能源 碳足迹(CO2/年) 可再生选择和成本
eqiad Ashburn, VA

20146-20149 USA

Equinix (网站) 2011年2月 2016年5月:130

2015年5月:152

32% 煤

20% 天然气

25% 核能

17% 再生能源

1,040,000 lb = 520 short tons = 470 metric tons

= 0.32 * 130 kW * 8765.76 hr/yr * 2.1 lb CO2/kWh for coal

+ 0.20 * 130 kW * 8765.76 hr/yr * 1.22lb CO2/kWh for nat gas

+ 0.25 * 130 kW * 8765.76 hr/yr * 0 lb CO2/kWh for nuclear

+ 0.17 * 130 kW * 8765.76 hr/yr * 0 lb CO2/kWh for renewable

2015年,Equinixmade长期承诺使用100%清洁和可再生能源。2017年,Equinix更新这一承诺。
codfw Carrollton, TX

75007 USA

CyrusOne (网站) 2014年5月 2016年5月:77

2015年5月:70

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/kWh for coal

+ 0.56 * 77 kW * 8765.76 hr/yr * 1.22lb CO2/kWh for nat gas

+ 0.06 * 77 kW * 8765.76 hr/yr * 0 lb CO2/kWh for nuclear

+ 0.15 * 77 kW * 8765.76 hr/yr * 0 lb CO2/kWh for renewables

?
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

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/kWh for coal

+ 0.25 * 5 kW * 8765.76 hr/yr * 1.22lb CO2/kWh for nat gas

+ 0.23 * 5 kW * 8765.76 hr/yr * 0 lb CO2/kWh for nuclear

+ 0.36 * 5 kW * 8765.76 hr/yr * 0 lb CO2/kWh for hydro/renewable

+ 0.17 * 5 kW * 8765.76 hr/yr * ? lb CO2/kWh for unspecified

?
eqsin Singapore Equinix (网站) ? ? ? ? ?

参见

更多硬件信息

管理员日志

异地流量页面

长期计划

历史信息

参考资料

  1. 参见MediaWiki analysisMediaWiki WMF-supported extensions analysis
  2. 在2019年9月6日/7日遭受了一次重大的DoS攻击。参见维基媒体基金会网站上的相关文章