维基百科:不要担心性能
本页简而言之:服务器资源确实很重要,但那是系统管理员们的事情,不要以自己对性能的理解来说事。但如果系统管理员发现问题并进行任何操作但造成了困扰,请不要还原他的操作,并与其沟通。 |
您不需要去关心整个维基站点的性能如何如何。在绝大多数情况下,您自己的力量根本无法使服务器性能明显提高或明显降低。在设计层面上,维基系统也已经阻止用户做出能够严重影响服务器性能的行为。
应该关注性能的人都在领薪水,所以您不需要跟着操心了
“ | 网站保持正常运行是我们需要关注的事情。“我们”指的是开发团队和运维团队,但是我把这两伙人相提并论。如果有什么*需要*使百科全书或词典正常运作的事情,那就去做吧;如果不确定,那就知会我们一下,如果我们有更简单的解决方案,我们会采纳的。
当然,我们应该用常识来分析问题。如果有什么明显会导致严重后果的事情,那我们要集中精力检查。但是,不要大呼小叫,跑来跑去喊“服务器!服务器!!”,以此作为不做事的借口,这样很蠢的。 |
” |
——Rob Church (MediaWiki developer),wikitech-l, 27 Jun 06 |
维基媒体基金会雇佣了一群IT专家来担任系统管理员。这些员工有责任保证WMF各维基稳定运行。维基平台是四百台以上服务器组成的集群,CPU内核数超过了 2,400,内存总量超过了5T。整个架构已经经过精心设计,能够把编者对性能带来的影响降到最低。最重要的是,在集群上运行MediaWiki软件、维护WMF各维基内容是集群设计的根本目的,因此编者们应该放心地按自己的需求和各维基的目标努力。性能不是阻止使用重定向、避免使用内链或停止协作的理由。事实上,网站没有任何内容时服务器性能才是最好的,但这样的话要维基百科还有什么意义呢?
如果系统管理员发现了性能问题,他们自己会处理
“ | 通常情况下,在方针层面上您不应该太关注一些细枝末节的东西,例如模板与服务器负载什么的。如果真的耗费性能,我们要么会修复问题,要么会在技术层面上进行限制——那是我们的职责……
作为技术问题,我们有责任保持系统运行良好,以满足网站的需求。换句话说,这不是方针问题。如果我们需要进行限制,我们会实行技术措施…… 除了最极端的情况,方针不应该去关注对服务器的影响。调整系统、满足用户需求是我们的工作。 |
” |
——Brion Vibber (then Wikimedia Foundation Chief Technical Officer),Village Pump, 21 January 2006 |
系统管理员可以访问大量分析、记录和管理数据,从而轻松地找到性能瓶颈。如果MediaWiki软件的某项功能对集群产生了无法忍受的性能影响,MediaWiki开发人员或系统管理员会采取合适的修理措施。目前系统有一些限制就是针对性能问题而引入的,例如限制引用模板的数量和层级、限制页面大小不能超过2MB、限制删除超过5,000个修订的页面。
有时系统管理员们采取的补救措施不是某种“高科技操作”,而是“普通的”维基编辑。如果系统管理员出于性能原因在维基站内进行了编辑,请不要回退或阻止他们。如果系统管理员要求你做出某些修改,请服从他们的指挥,例如编辑系统界面、封禁用户和修改高使用量模板。
编者们无法毁掉网站,但管理员们能
“ | 我提了一个普遍适用的建议:不要只凭预言就去大喊“天要塌了,天要塌了!”。
我的意思不是应该忽略已经发现的现实问题, 但等到问题变得现实、真实、可以测算之后,它就很重要了。 |
” |
——Brion Vibber (then Wikimedia Foundation Chief Technical Officer),wikitech-l, 16 January 2007 |
少数情况下,维基百科管理员能够做出影响网站运转甚至使网站崩溃的事情(例如mw:User:MZMcBride/Attacks),但是这种事情并不常见,通常也不值得担心。虽然管理员可以做出难以收拾的恶意编辑,但是不太可能做得出导致数据彻底丢失或者系统彻底损坏的事情。即使遭遇极端情况,只要按照系统管理员的指示进行操作,一切都会好起来。当然,之后您就不要再干相同的事情了。比方说,假如您删除了Wikipedia:沙盒页面结果导致网站崩溃,那么请不要再删除这个页面。不过,您也不要“一朝被蛇咬,十年怕井绳”,连修订版本删除也不敢再操作。这种恐慌心理对维基百科造成的危害要比一次短暂宕机严重得多。
但是,编者们也不是什么都不用在乎了
“ | 特别是在设计模板方面,优化性能是十分重要的,而且对用户的影响很大。优化模板并不难,我自己也时不时地弄一下。但是事情最好还是让熟悉相关模板和条目的编者们来做。 | ” |
——Tim Starling, MediaWiki Release Manager,wikitech-l, 12 January 2011 |
我们不是说编者们可以把性能问题彻底地抛到一边,想都不去想,只是不应该因为担心性能问题而阻碍维基本身运作。如果您熟悉技术,能够指出优化前后差异,那还是应该关注一下性能。假如有个页面需要等十秒钟才能加载,删掉某个模板之后一秒之内就能点进去,并且您能够重现这个过程,其他人也能确认这个问题,那么很显然那个已删除的模板有问题。想要解决问题的话,自然要竭尽全力优化模板。另外,虽然您无法给服务器集群带来明显的性能影响,但是您仍然可以测试单个页面的性能,而且开发人员也在一些地方为用户提供了可以更加准确衡量性能的工具,例如编辑页面时下方显示的分析器分析数据以及防滥用过滤器的配置数据。
本文所指的性能是整个维基站点以及维基服务器层面上的性能,不是其他方面(例如加载页面或者使用维基工具)的性能。维基的根本目的是为读者服务,从服务读者的角度来讲当然也要稍微考虑一下性能的问题。例如您可能需要考虑一下500KB的PNG缩略图与50KB的JPEG缩略图的加载速度问题,不过到底哪一种合适是编者们的问题,开发人员或系统管理员不会鼓励或阻止编者去做什么。
总结
“ | 优化,依靠的是科学,而不是迷信。 | ” |
——Brion Vibber,wikitech-l, 13 January 2011 |
积极主动地优化可以衡量与量化影响的事物,不要担心你无法测量的事情所造成的性能影响。基金会出钱雇佣的系统管理员会处理整个网站的性能问题。
参见
- 维基百科:不要删除首页
- Wikitech 的机器人方针
- MediaWiki性能指导指出了开发人员应当如何关注性能
- 如何让维基瘫痪掉