Account suspensionsWritten by Jacob Nicholson
In this article we'll discuss possible reasons for account suspensions, and what you can do to correct these issues to get your site back online quickly.
Why was my account suspended?
If you were sent to this page by our system administration department, it's likely that your account was possibly causing issues on the server due to high levels of system resource usage.
Other possible account suspension reasons would include a billing issue, or a possible terms of service violation. This article will be primarily focused on resource usage, as typically contacting us direcly about billing or terms of service issues are the quickest ways to handle those types of problems.
What is high system resource usage?
Typically every request that your website fulfills will require a small amount of "resource usage" from the server. This is generally relating to CPU or memory usage, as these are both finite resources available to all of the users on the server.
In some cases if your account is taking up more than its fair share of these resources, it can be detrimental to the other users on the server and our system administration team might need to step in with a temporary account suspension until you can correct the issues causing excessive usage.
The following excerpt from our Terms of Service explains why we monitor account's resource usage and take actions when necessary:
"IMH Personal & Business Class hosting are shared hosting environments, so to ensure fast and reliable service to all of our clients, accounts that adversely affect server or network performance must correct these issues or will be asked to upgrade to a virtual or dedicated server."
What can cause high resource usage?
There are quite a few things that could cause high resource usage on your account, most of them can be optimized or adjusted to prevent further issues.
However in some cases depending on what you're trying to do with your account, you might have simply outgrown the current hosting platform that you are on. You might need to start looking into a more appropriate platform to handle your level of resource usage activity such as a VPS (Virtual Private Server) or a dedicated server.
Below are some of the most common causes of high resource usage:
- Excessive amount of errors.
- Malicious user activity and hacks.
- 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.
What options are available to solve resource usage issues?
There are two mindsets when it comes to tackling a resource usage issue:
- Optimizing your website and applications to work within the resource usage constraints of your current hosting platform.
- Upgrade to a more appropriate hosting platform for your activity, where more robust resource usage allotements are available.
Optimizing your account
Application specific optimizations
Joomla/Mambo - How to Optimize Joomla/Mambo
Gallery2 - Gallery2 Performance Tips
vBulletin - Optimizing your vBulletin forum to run faster
Magento - Notes on Magento's performance *Note: The developer's of Magento have warned about high resource usage, indicating it could be difficult to run on shared-hosting.
General optimizations and best practices
There are 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 affect 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 igore 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 fulfil 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 qickest 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 recommend 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.
Upgrading your account
As your site grows so will its resource usage requirements. The fact that you might have to upgrade from shared-hosting to a more robust VPS or dedicated server platform is not always a bad thing, as this is typically a sign that your site has grown to the point where you're receiving a good amount of visitors each month. If you're not increasing the amount of visitors that your site is receiving but your resource usage is still higher than what our shared-hosting plans allow for, this can generally be an indication that something in your site's code isn't as efficient as it could be, or simply that all of the things you're trying to do with your site are intensive in nature and require more resources per visitor than a more simple website would.
In most cases a customer will start off on shared-hosting, and as their business and website grows they will adjust their hosting plan accordingly. Typically a VPS is enough for most small to medium businesses depending on their exact needs, and then sometimes they will upgrade to a full dedicated server of their own, or even multiple dedicated servers if their usage warrants it.
Our system administration team can do a full resource usage profile of your account for you, and recommend the best hosting solution that will handle your current resource usage requirements as well as provide you room to continue to grow. The options that you have to upgrade to would be either a VPS, or dedicated server. Once you've decided what platform would be best for your account, you can read about how to ugrade or downgrade your hosting plan for information on how to go about getting your hosting package changed. In most cases we will handle the upgrade of your account for you from our end, and most moves don't result in any downtime for your site(s).
Virtual Dedicated Server (VPS) - This type of server is a small virtualized container that is a step up from shared-hosting, but not as expensive or robust as a full blown dedicated server solution. They come in three different tiers depending on the level of memory or hard-drive space that is necessary for your account. With a VPS you have a much higher resource usage ceiling than with shared-hosting and you also have the ability to fully customize server-wide settings and configurations to best meet your exact needs. You can visit our VPS Hosting page for further information on this platform.
Dedicated Server - This type of server is a stand-a-lone physical server. This would be our most robust hosting platform, where you have full access to all of the hardware of this physical server, and don't have to share any resources at all with other users. We also have three tiers of dedicated servers to best meet the expected resource requirements of your account and you can visit our Dedicated Hosting page for more information on this platform.
After reading this article you should now have a good understanding of some of the common issues that could possibly lead to an account suspension, and how to correct those to get your website back online. We will be constantly adding to this page to try to provide our customers with the most up to date information on how to avoid account suspensions. If you feel there was something that we missed which in your case would have helped you understand things better, please comment below so that we can be sure to get that corrected for the next person having similar issues.