On a shared web hosting server, all users share a finite amount of resources at any given time. If at any point, one customer on the shared server begins to use excessive resources, it negatively impacts the website and email performance of all other customers sharing that same server. The Nuagerie system administrators monitor various elements of server resources to detect excessive use.
The server CPU cores handle tasks that your account demands of them, including running a server-side PHP script, connecting to a database, or sending emails. One user monopolizing CPU usage can cause delays for other user’s website requests. If your website uses a database or relies on scripts like PHP, increasing your account’s CPU can improve your website’s performance.
I/O (inputs/outputs) usage, similar to CPU usage, represents how much disk activity your account is using. Any task which makes use of the server’s disk drive will consume I/O. Reaching the I/O limit will cause website processes to slow down and take much longer to complete.
Physical Memory Usage (RAM) usage:
RAM is the memory allocated for your account. If this value reaches the limit you may begin to experience PHP errors (if applicable) on your website, or in very extreme cases, you may see a CloudLinux error page. These errors are typically only brief and once the usage has fallen below the limit, will clear automatically.
Entry Processes are the number of concurrent processes serving your account. Understanding what constitutes a connection is critical because it’s more complicated than simply “the number of visitors on your website.” For example, if a visitor comes to your site and your homepage takes .1 seconds to load and generates only one HTTP connection, that visitor counted as one process for .1 seconds. Even though that visitor is still “viewing your site,” they no longer count as a connection until they do something else that generates another connection, like move to a new page.
Once the CPU has processed the instructions for the tasks, it needs to read or write information to the hard drive on the server. Because the hard drive is shared by all the users on the server, excessive read or write requests to the disk can delay other user’s requests from getting fulfilled in a timely manner.
Common causes of excessive server resource usage:
Malware and hacker activity:
A hacked website can be the cause of a lot of extra resource usage on the server because a malicious code typically tries to process multiple things for each page load on top of what a normal website already does. Hacking activity is usually automated as well which also leads to a higher amount of resource usage to handle the excessive amount of requests.
Intensive cron jobs:
A cron job is a scheduled task setup on a Linux machine. This lets a user run tasks on a website without having to actually be present to initiate the task. In most cases, a cron job that runs every minute, or even as often as every five minutes, can cause server issues. It really depends on how intensive the task that's attempting to run becomes. If you think this may be an issue, try disabling cron jobs temporarily to see if your resource usage decreases.
Amount of errors:
An excessive amount of errors originating from a website can have a negative impact on an account’s resource usage. Error codes can give you insight as to what’s going on with your web site's traffic, and how some visitors might not be seeing your full website as expected. Common errors that can interfere with resource usage are 500, 502, 503, 504 and 508. For more information on these server error codes, what they mean and how to fix them, view this article.
Too many plugins or modules on your website:
A plugin or module is a small bit of code that extends the default functionality of an application such as WordPress or Joomla. It’s recommended to keep the plugins running on your website to a minimum, and the number of plugins you can run before setting off server resource usage alerts varies depending on the plugin itself, how it’s coded and how often it’s used.
Before installing a plugin or module, consider researching it on Google to make sure there are no known issues with the script. It’s also advisable to always keep your plugins updated. Outdated plugins can cause excessive server usage and also leave your website open to hackers and malware, which then results in more server usage overages.
Large traffic surges:
Surges in traffic will happen when your website is being crawled by automated bots (ie. search engines), or your website is getting attacked with spam comments, or you have a large amount of legitimate traffic going to your website all within a short duration of time. If you think your website is receiving surges in traffic, you can try to optimize your website so that the traffic spikes use fewer server resources.
The most common ways to optimize your website include implementing a caching plugin, limiting the amount of dynamic content you have such as plugins or modules, and ensuring the images on your website are small files sizes formatted for the internet.
Also, SiteLock’s Content Delivery Network is a great way to optimize your website content and traffic to minimize server usage.
For more information about CloudLinux and shared web hosting server resource usage, visit this article.