Wikipedia:Don't worry about performance

From Wikipedia, the free encyclopedia
(Redirected from Wikipedia:PERFORM)
Wikipedia servers are not operated by anyone’s grandma

You, as a user, should not worry about site performance. In most cases, there is little you can do to appreciably speed up or slow down the site's servers. The software is, on the whole, designed to prohibit users' actions from slowing it down much.

The Wikimedia Foundation pays people to worry about performance, so you don't have to[edit]

Site operations and keep-alive stuff is our concern. "Our" refers to the development team and the system administration team, but I lump it all together for this. If something is *needed* in order to get on with the encyclopedia-writing, or the dictionary-making, then do it. If it's unclean, let us know, and if there's an easier method we can implement to help, we will.

Adopt common sense, of course. If it's plain something could cause drastic problems, hold fire and check. But don't go running around screaming "teh servers, teh servers!!!" as an excuse to not do stuff, that's stupid.

The Wikimedia Foundation employs numerous IT professionals to act as system administrators; these staff members are responsible for providing a stable and responsive platform on which to run the wikis hosted by the Wikimedia Foundation. That platform forms a cluster of over four hundred servers, with over five terabytes of RAM and over 2,400 processor cores. The whole architecture, and the MediaWiki software which runs on it, has been designed to minimise editors' ability to affect the performance of the site. More importantly, running MediaWiki to host the Wikimedia wikis is what the cluster is for; so editors should do whatever they feel they need to with the software in order to further the project's goals. Performance is not a reason to avoid using redirects, stop linking between pages or avoid editing altogether. The servers would 'perform' best if there were no content on Wikipedia at all,[a] but they would not be achieving their purpose.

If the sysadmins identify a performance problem, they will fix it[edit]

Generally, you should not worry much about little things like templates and "server load" at a policy level. If they're expensive, we'll either fix it or restrict it at a technical level; that's our responsibility ...

As a technical matter, it's our responsibility to keep the system running well enough for what the sites require. In other words: it's not a policy issue. If and when we need to restrict certain things, we'll do so with technical measures ...

"Policy" shouldn't really concern itself with server load except in the most extreme of cases; keeping things tuned to provide what the user base needs is our job.

System administrators have access to a wealth of profiling, logging and administration data which allow them to easily identify performance bottlenecks. If a feature of the MediaWiki software is causing unacceptable performance on the cluster, MediaWiki developers or sysadmins will take appropriate action to fix it. Examples of limitations introduced to avoid performance issues are the limitations on template inclusion, the restrictions on deleting pages with more than 5,000 revisions, and the 2 MB maximum size of pages.

Some remedies made by sysadmins are not technical blocks, but 'ordinary' wiki edits. If a sysadmin makes an on-wiki change because of performance considerations, do not reverse it nor block them; equally if a sysadmin tells you to make a change, listen to them. Past examples of such actions have included editing system messages[dead link], blocking users and altering high-use templates.

Editors cannot break the site, only admins can do that[edit]

I made a general recommendation not to go running around saying THE SKY IS FALLING THE SKY IS FALLING about templates BASED ON SUPPOSITION AND PARANOIA.



In a few cases, there are things sysops can do that will slow down or crash the site. These are rare and not generally worth worrying about; although there are a few things admins can do maliciously which are very difficult to clean up, it shouldn't ever be possible to do something which will result in permanent data loss or unfixable breakage. On the rare occasion something spectacular occurs, follow instructions from the sysadmins who come in to pick up the pieces, and everything will be fine. Obviously you shouldn't do exactly the same thing again, but don't be afraid to do similar things. If you get chastised for trying to delete Wikipedia:Sandbox and crashing the site, don't try to delete the same page again, but also don't fearfully count the revisions of every page you want to delete. This damages Wikipedia far more than a minor temporary slowdown. If you're unsure about something, you can ask a sysadmin on the #wikimedia-tech connect IRC channel if it makes you feel better, but generally it's not necessary.

Editors still have a role to play[edit]

Particularly in the area of template design, optimising server performance is important, and it's frequently done by users with a great amount of impact. It's not very hard. I've done it myself from time to time, but it's best done by people with a knowledge of the templates in question and the articles they serve.

Nothing in this page is to say that editors should not be mindful of performance, only that it should not limit project development. If a page is particularly slow to render, or coming up against other limits, then it is useful to edit it or templates and modules to make it perform better. This should be based on significant, measurable characteristics like load time, not hunches or efforts to simply save a few bytes here and there.

In some areas the developers have provided tools with which you can more accurately measure performance, such as the template expansion limits, the parser report (present in a comment at the end of page content and on the edit preview page) or the profiling data in the Edit filter. In these cases, editors can certainly make use of these tools to improve the performance they can measure.

"Don't worry about performance" refers to site-wide performance, where the purpose of the servers is to support the wiki contents, not the other way around. The purpose of the wiki content is to serve the reader; and performance considerations can certainly play a part in that process. Using thumbnails with a large size in bytes instead of a smaller size in bytes (e.g., a high-fidelity 50 kB PNG instead of an uglier 20 kB JPEG) can definitely slow down the loading of pages; but whether that's acceptable is an editorial choice, not something the developers or sysadmins will either prevent or encourage.

In short[edit]

Optimize through science, not superstition.

— Brion Vibber, wikitech-l, 13 January 2011

Be proactive in optimising things where you can measure and quantify a performance impact. Do not worry about the performance implications of things that you can't measure; the Wikimedia Foundation employs system administrators who will worry about site-wide performance.


  1. ^ This would also eliminate most vandalism, edit-warring, POV-pushing, and personal attacks, but probably not all.

See also[edit]