I’ve heard of this concept multiple times throughout my time on the internet, but I never understood what causes a “server load”. Now that I’m in one of the biggest instances on Lemmy, this is one of the significant issues that we face. So what is a “server load”, why does it slow down websites instead of stopping them? Does the load on a server increase by the amount of information in it, the browsing of information, or both? Does upvoting and downvoting cause a load too? Does saving posts and comments to your profile also cause a server load?
The load of a server is like the load of a truck - if it is too big, the truck first becomes slower and then breaks down. Server load on Lemmy means many many “clients” - apps like Mlem, Jerboa, Liftoff, wewef and the regular Lemmy website itself (lemmy-ui) send many many “requests” to the server, which must be processed on the CPU (the “engine” of the computer). At the moment upvoting, downvoting, posting and browsing threads all cause requests to be sent to the server and therefore cause load. All those upvote requests must sooner or later be written to a database for bookeeping and the ability to save and read posts in the first place (more load). Lastly, the upvotes and posts must be distributed to all interested parties (other servers, “instances” in fedispeak) causing even more load. This allows the other instances to mirror the content and upvotes/downvotes of the post. This idea of “federation” is very powerful but probably also hard to get right when the number of interested (“federated”) servers rises from a dozen to several hundreds and the number of clients to several hundred thousands. Federation is said to provide benefits like censorship resistance, independence of single points of failure and is meant to act as means of load balancing in itself. Federation is a feature which is unique to mostly opensource fediverse software like lemmy/kbin but has precedent in technologies like email and USENET (discussion boards for computer nerds of the 80s).