Server load

Server load

Server load - just a number?

Well, yes, basically the server load is a number. This number is usually under the x.xx format and can have values starting from 0.00. It expresses how may processes are waiting in the queue to access the processor(s). Of course, this is calculated for a certain period of time and of course, the smaller the number, the better. A high number is often associated with a decrease in the performance of the server.

You can usually find the server load value in the control panel associated with your web hosting account under "Server Status". There you'll find listed a server load value. If you refresh the page, you'll notice that the value changes almost every time. That's because it's an instantly calculated value. However, one can notice over a period of time which are the usual values of the server load.

Knowing what the value of the server load is not very important though. Knowing how to interpret the value is what counts. Unfortunately, there's a lot of debate on how to actually interpret it, even among web hosting company owners.

One thing is sure however: all of them consider a server load of 0.xx as safe. As long as most of the time the server load is under 1.00, you should not notice any problems like your website being slow (unless there are some networking related problems somewhere between your computer and the server).

The uncertainties come when the server load has values over 1.00. Most web hosting company owners apply the following rule: if the server has a single CPU (central processing unit), a server load higher than 1.00 is not good; if the server has two CPUs, a server load over 2.00 is not good and so on.

You have to understand that these are average server loads. All web servers get busy from time to time, either because of an user's abuse of resources, or because the server makes some backups etc. Usually the tasks requiring lots of resources are programmed by the host to be run during weekends when the traffic is lower so they won't affect the users much.

Things however are not as black and white as you might think by now. With the powerful processors of today even single processor servers might cope quite well with a server load of 2.00.

Also, remember the definition: the server load represents the number of processes waiting to access the CPU. But not all processes are the same! If the processes are low priority, when a new server request (page request) appears, it can still be handled almost instantly. That request will not be postponed at all, it will be dealt with immediately, while the lower priority processes will wait.

As usual, and as many people directly implicated in the hosting business say, it all comes down to real-life behavior. Are the pages loading fast? Does a process such as searching through a database take a reasonable time? Then you don't really have a problem, whatever the server load is.

Not to mention that the server load is just one factor out of many others (memory usage, CPU usage, size of swap file) and it's often influenced by them. I'll give you an example. If the server has insufficient internal memory it will use a swap file. This means it will work intensely with the hard drive, which will increase CPU usage and in turn result in a higher server load which will make the server respond slowly to requests.

In such a case the solution is simple: more internal memory (RAM). That would lead to a lower swap file, lower CPU usage, lower server load, faster response speed. So the server was almost OK, all it needed was more internal memory.

So, the ultimate test is the way that the server behaves. If the server is fast, a number, even if it's called "server load", really doesn't mean much. But then again, I love when I see it constantly at around 0.20.

Personally, if the server load is around 4.00 24/7 and we're talking about a server with a single processor, I would suspect something is wrong: overselling or overloading. In that case, just to make sure I would never face serious problems, I would ask my host to do something about the server load or move my website to a server with a lower server load. If the response I get does not please me, I will consider looking for a new host.

I like to play it safe and that's what I recommend you to do too: Play it safe!

Further reading (for the techy types): Unix Load average.

If you want to see the server load and other interesting variables measured from servers at a number of hosts, check out my other site, HostPeek.com.