In this article, I’m going to take a few moments to explain what high system resource usage is, and some of the common things that tend to lead to these conditions happening on your server.
What Is Resource Usage?
On servers, there is a limited amount of resources available for use at any one given time, for all users on that server. The main resources that we monitor for high usage would be CPU usage and disk space usage.
The processors or CPU cores on a server handle any tasks that your account sends to them, with typical tasks including running a server-side PHP script, connecting to a database, or sending an email.
Because there is a set number of CPU cores per server, the amount of time that your account can request processing time from the CPUs is limited on a shared hosting platform. One user monopolizing CPU usage even unintentionally can lead to delays for other user’s website requests, so this is why we monitor this usage and send out notices when we see problematic levels of CPU usage.
Once the CPU has processed the instructions for the tasks it needs to complete for your account, it typically is going to require reading or writing 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 SSD can delay other users’ requests from getting fulfilled in a timely manner. One user with an excessive amount of un-optimized MySQL queries for example could potentially cause other user’s MySQL requests to delay or even time-out, so we also monitor this resource and alert when we notice high usage.
What Is High Resource Usage?
Depending on the level of hosting that you have, either shared, Dedicated, or VPS hosting, your acceptable levels of resource usage will be different.
I would recommend reviewing my article on how can I view my account’s resource usage for ways that you can review your account’s current resource usage levels, and also the acceptable levels of resource usage on each platform.
Common High Resource Usage Problems
There are a lot of common things that could lead to high resource usage problems, and the list below is not meant to be 100% exhaustive, but rather the most common issues to our knowledge we see happening on accounts.
If you encounter a resource usage-related problem that is not mentioned here, please use the Your Opinion Matters! form up at the top-right of this article to inform me. This way we can continue to expand our list and make it that much easier for the next customer that has a similar problem.
- Excessive amount of errors.
- Viruses and other malicious activity.
- Inefficient coding of your website.
- Intensive cron jobs or scheduled tasks.
- Unattended forums getting used for spam.
- Heavy disk activity coming from IMAP e-mail accounts.
- Excessive amount of plugins/modules on your application.
- Excessive amount of spam comments, or guestbook entries.
- No form of database caching to reduce duplicate database queries.
- Excessive e-mail spam filtering, forwarding, and BoxTrapper usage.
- Large surges in traffic going to a site not optimized for that level of traffic.
- Search engine crawlers and automated robots activity not being controlled.
- Excessive amounts of CPU processing especially related to image manipulation.
Resolving High Resource Usage Problems
When encountering problems with high resource usage, there are several key things that you want to check to see if your problems can be resolved without having to upgrade to a more robust hosting platform with additional memory and other system resources.
- How to Optimize WordPress
- Optimizing WordPress with WP Super Cache
- Optimizing WordPress with W3 Total Cache
- Disabling the wp-cron.php in WordPress
General Optimizations and Best Practices
If you are just getting started with optimizing your website, you should read the following guide:
There are also several online tools that can help you benchmark your website and provide some good starting points for general optimizations:
Dynamic page caching – Most website applications today will run a PHP/MySQL back-end. The PHP scripts are used to dynamically pull your content out of the MySQL database for your website. Most applications support some form of database caching either natively or via a plugin that can help cut down on duplicate database calls that can lead to excessive resource usage. This allows your site to serve more static HTML content which is quicker to load for your visitors and less taxing on the server’s resources.
Search engines and bot activity – A lot of the time search engine crawlers, and other automated bots that are simply trying to index large portions of the Internet, could be among your highest amounts of traffic. This type of activity can sometimes have the same effect of multiple concurrent users on your website, and unlike humans, they usually aren’t going to wait a good amount of time before they request your next page, but instead just follow your links one after another until they have the complete site indexed.
You can read about the (robots.txt) file and how to stop search engines from crawling your website, for info on how to help control the way in which search engines crawl your website, and what sections they’re allowed to index. If you for instance have an image gallery section of your website with photos of family and friends, that you might not necessarily want the whole world to know about, you can utilize (robots.txt) rules to tell search engines to ignore that section of your site.
This is also helpful if you have some sections of your site that could require a lot of database activity or other type of high resource usage activity. That way you can still provide that service to your human visitors, but you’re not wasting server resources to try to fulfill a bots requests for the same content.
MySQL optimization – As your database gets more and more usage, over time there can be additional overhead and you might need to re-index, or re-organize your data. The easiest and quickest way to handle this would be by optimizing the database from phpMyAdmin available from your cPanel. Sometimes this alone isn’t enough, and a manual re-structuring of your data or indexes might be necessary to keep your database queries fast and efficient.
Typically with database problems, we’ll alert you if we notice hanging queries from our end, or a sudden increase in resource usage coming from your database activity. In most of these cases, your site’s code or database design would need to be reviewed by the developer that created your site, as they should have a good understanding of its functionality and what could be causing problems such as “delayed INSERTS” which is a common problem on shared hosting.
Before either a developer or yourself starts messing around with your database trying to optimize things, it’s generally recommended to first get comfortable with learning how to export and import a MySQL database with phpMyAdmin. That way you can always revert back to a good working copy of your database in the event that something is deleted in your optimization attempts by accident.
You should now hopefully have a good understanding of what high system resource usage is. If you continue to experience issues with high resource usage on your current hosting platform, you might be interested in upgrading your hosting plan, that way you would have a higher resource usage limit for your account.
Thoughts on “What Is High System Resource Usage?”
Twice now, my sites have exceeded resource usage and are placed into a suspended state. Can’t seem to find any advance notification that this was going to happen. Is communication with the site owner done on a site-by-site basis, or do ya just yank the plug and see who complains?
Hello Al Alamoo – sorry for the issues with high system resource usage. Per the emails sent for any suspension, you would need to work with systems to help resolve the issue. Sometimes, it simply requires an updated account type that has more resources. You can’t typically predict when a particular website will exceed system resources in order to give advance notice. It can happen quickly. Websites that are suspended due to high resource usage are not being “singled-out”, but the system will place the site in a suspended state in order to prevent the server from completely crashing. This happens automatically to protect other customers who share the server with you. Please contact our systems team to see what can be done to help mitigate the issue and prevent it from happening again.
Recently I have noticed increased CPU usage on my reseller account and child accounts (through the corresponding cpanels of each account). I suspect patchman is causing this, but I couldn’t find a way to verify this.
Also is there a recommended way to view/kill running processes on a reseller account including sub-accounts?
I recommend checking your server logs for additional clues or errors.
SSH is the recommended method to view/kill running proceses on all accounts.
In case any of our website starts causing server load, do you give the time for correcting the issue or just suspend the website?
In severe cases where suspension is neccesary to avoid server from overloading for other clients, do you provide some measures and help for correcting it?
Everything is handled on a case by case basis. If your site is normally fine and starts encroaching or suddenly spikes up, we will notify you of the issue so you can correct it. If it is affecting the overall performance of the server, it may be subject to suspension and you will then be notified of the issue. Of course, if it is determined the issue is from a rogue file or script, we may be able to handle that for you and then notify you.
Because I have multiple sites. How can I see resource usage per site?
If you are asking to see the CPU usage from each site that is not possible. Are you on a dedicated or VPS?
I’m not sure why this should be an issue. If you’re going to sell hosting, you should understand that over 50% of websites are going to be wordpress. If there’s bots out there, handle security yourself. You’re the hosting company. Don’t sell me a pro plan saying I can have as many websites as you advertize then turn around and disable all of my sites telling me it’s my fault. If you can’t support something, don’t sell it. Seems like a common problem. Seems like the way In Motion does business.
Our servers are perfectly able to handle websites under normal conditions. WordPress, Joomla, Drupal, and all the other php based CMSes out there are can quickly become unruly for any hosting server. That is where optimization comes into play. This reduces usage on individual accounts and works to the advantage of all accounts on the server. How many sites you can have is far less of an obstacle to an account than how much resources they consume.
If someone set up something at their home that consumed enough electricity to harm the grid, the electric company would not allow them to do so for long. The same goes with the hosting industry. What the site is composed of (WordPress, etc) is not an issue. It is how well that site is optimized that is the key. We have very high traffic sites that use far less resources than slower traffic, poorly optimized sites who get usage warnings.
Remember that hosting companies simply supply the space. The care, security, and behavior, and optimization of the site is the responsibility of the site owner.
Hi, how can I find out what’s causing the high resource usage for my hosted website? Can you inform me of the specific causes for our team to take corresponding actions to resolve these issues in a timely fashion. Thanks.
Reasoning can greatly vary depending on your site. I recommend submitting a ticket to technical support as they will be able to look further into your account and provide more specific details.