At Web Hosting Hub our system administration team monitors all of our servers 24 hours a day, 7 days a week, 365 days a year to help ensure a speedy and reliable hosting service for all of your website needs. Sometimes this causes the need for us to step in and take temporary actions on accounts that are causing excessive server loads and affecting the overall server performance for all customers sharing the same server.
We only take action on a needed basis, and understanding a bit about what we're looking for when we're checking up on our servers can help prevent your acocunt from running into any problems down the road. This article will be updated over time, so if we've missed anything that you believe might be helpful for other users to know please let us know about it!
If you've been having problems with high usage on your account you can check out our guide on common causes of a slow website for a collection of possible issues to look into.
Monitoring CPU load/usage
Understanding CPU load
On Linux servers there is an average CPU load that is represented by a numeric value, this number tries to calculate the average amount of "load" on the server at any given time. You can think of CPU load much in the same way that you would think of traffic over a bridge or highway.
On a server with 1 CPU core a CPU load of a 0.5 would mean that you're utilzing about 50% of the available resources. In our bridge analogy this would mean if we had 2 lanes on our bridge, 1 would be filled to capacity with the other lane ready to take on the same level of traffic.
On a server with only 1 CPU core, if the load average was a 4, then this would mean that not only are both of our bridge lanes filled up to capacity, but we also have 3 entire 2-lane bridges worth of traffic also waiting to squeeze in.
Out in the real world if we were waiting to get over this bridge, obviously we would be delayed. In the same regards if our server only has 1 CPU core (lane) and it's sitting at a load of 4, our website, email, and database requests are going to be delayed.
Understanding CPU usage
When we go into a server that is showing signs of excessive server loads, we use tools that tell us which users on the server used up the most amount of CPU usage over a given period of time. So for instance if the server was perfectly fine up until 5 minutes ago, and then we check on the server and see that over the last 5 minutes one particular user has used up a large portion of all CPU time recently used, then this correlates their account's CPU usage to the server load spike.
Individual accounts can help keep their CPU usage optimized and within reason by ensuring they are keeping their site up to date and free of spam or other malicious activity. Also ensuring that you're utilizing caching for the particular application that runs your website, and further site optimizations can help prevent your account from causing any excessive server loads.
Main server resources monitored
Obviously the biggest thing tied into your web presence is your website, we are constantly monitoring the Apache web service to ensure it has enough free connection slots and processing time to be able to complete all the tasks it needs to handle at any given time.
Sometimes if you have something problematic going on with your website such as a large amount of search engine crawlers hitting you all at once, this can cause a server load spike, leading to slower response times for other websites on the server.
Next usually in the order of importance is going to be email communication, most of the time there isn't a lot aside from unwanted spam blasts going out from a compromised email account that you would need to worry about for excessive email activity.
Some other common problems you can encounter with email is if you're checking it via an IMAP client this can lead to excessive IMAP activity. Also depending on the overall level of email traffic that you receive, you could encounter issues with excessive spam filtering that would need to be adjusted.
Database - MySQL
Another very common service where a lot of usage can come from is the MySQL service which would run any databases that your website might be using. If you have an excessive amount of SQL activity this can also be another problem that can lead to a server load spike.