Wikipedia:Don't worry about performance
|This is an information page that describes a communal consensus on some aspect or aspects of Wikipedia's norms and practices. It is intended to supplement and/or clarify a process or some guidance. It is not one of Wikipedia's policies or guidelines; where something is inconsistent with this page, please defer to those.|
|This page in a nutshell: Server performance is very important, but it's taken care of by the sysadmins, who know what they're doing. Try not to make policy decisions based on your understanding of performance issues.|
The Wikimedia Foundation is fast-growing and, as a non-profit organization unwilling to fund itself through advertising, it is perennially short on cash. Therefore, site performance may not always be what it should be: the site may be slow, it may act strangely, it may even crash. But 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.
Wikimedia pays people to worry, so you don't have to
|“||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.
Wikimedia 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 WMF wikis. 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 was no content on Wikipedia at all, but they would not be achieving their purpose.
If the sysadmins identify a performance problem, they will fix it
|“||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 block 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 him; equally if a sysadmin tells you to make a change, listen to them. Past examples of such actions have included editing system messages, blocking users and altering high-use templates.
Editors cannot break the site, only sysadmins can do that
|“||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.
That doesn't mean that AN ACTUAL PROBLEM, WHEN DISCOVERED, SHOULD BE IGNORED.
WHEN THERE IS AN ACTUAL, REAL, MEASURABLE PROBLEM, THEN IT MATTERS.
In a few cases, there are things sysops can do that will slow down or crash the site. These are, however, 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 IRC if it makes you feel better, but generally it's not necessary.
Editors still have a role to play
|“||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. Worry about performance if you can tell the difference yourself. If you find that a page takes ten seconds to load, and takes only one second to load if you remove a particular template, and you can reliably reproduce this and other editors confirm they can too, then obviously the template is slowing down that page. If you would like the page to load faster, then by all means simplify or optimise the template. You won't be measurably affecting the overall server performance either way, but you can still weigh the costs and benefits for an individual page, if you can measure them. Equally, in some areas the developers have provided tools with which you can more accurately measure performance, such as the template expansion limits, or the profiling data in the Edit filter. In these cases, editors can certainly make use of these tools to improve the performance that they can measure.
As such, these principles mainly cover 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., using 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.
|“||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 WMF employs system administrators who will worry about site-wide performance.