Woktron Web Hosting’s system administrators are monitoring our network 24 hours a day, 7 days a week to ensure the optimal health of our servers, network infrastructure and software.
In a shared environment where all customers on the server share and utilize system resources, a customer that is over-using system resources can cause problems for other users on the server. These problems are embodied by slow loading sites, and sometimes even downtime.
If you receive a warning or a suspension of your hosting account that states your account has been flagged for excessive resource usage, you should consider the steps needed to reduce your resource usage. Any time our systems administrators flag your account for excessive resource usage, we try to provide the option to either reduce your resource usage, or upgrade your account to a VPS or Dedicated platform. We offer some suggestions on ways to reduce your resource usage below.
In some cases it may not be possible to decrease your usage to levels that are acceptable on a shared hosting platform. Web Sites that require larger databases or are controlled by server-driven software (like PHP, Python, and Perl) and/or have larger images and files being hosted naturally require more resources in order the function properly. Resources usage intensifies as traffic increases, which is why higher-traffic server-interactive sites tend to outgrow a shared platform more easily than static HTML sites. If your site is generally too resource-intensive for a shared system, an upgrade may be in your best interest.
Please note that Woktron Web Hosting cannot provide programming assistance or support for third-party software. When possible, we do offer tips and recommendations that help you determine your best course of action.
What we look for when monitoring servers
Understanding CPU Load/ Usage
Many websites, such as Joomla for example, use the php scripting language. When your Joomla site is called by a user, the server executes Joomlas php code and creates your web page. The CPU on the server executes the php code.
Load can be thought of as how hard the CPU is working to execute everyone’s php scripts. When we refer to high cpu / load average, what we mean is that the CPU is unable to keep up with all the requests it has to execute php scripts.
There are several reasons that the CPU cannot keep up with all of the requests. It may be that there are too many requests. For example, if you get a surge of web traffic to your site, the CPU is then going to need to process all of those php scripts. There are also cases in which the php code is not written efficiently. Sometimes it’s a combination of both too many requests and inefficient code.
Understanding Memory Usage
Memory usage is a lot like reading a story in the newspaper and answering questions about it later. Once you’ve read the story, you have to retain that information in your head for later use when answering questions about it. PHP scripts work the same way. Certain information may be retained in memory for later use. This is great if the right information is being stored in memory.
Think about it this way, if we memorized our entire story we read, word for word and then the question we answered was only about the color of a car in the story. We wasted time and memory retaining the rest of the information. If your scripts store information that is not being used, it can cause excessive memory usage.
Data Transfer Usage
Data transfer is the amount of data your server uses. Normally this is tracked per month. Overall, it is the measure of how much data is going to and from your server to a person requesting information. At Woktron Web Hosting, we monitor data transfer our customers use so that we can keep an eye out for people who use too much, thereby pulling resources from other users. If we didn’t track data transfer usage, then a server slow-down could occur.
How to resolve excessive resource issues
It is important to utilize caching where you can, especially for cases where the server has to compile every PHP page and process every MySQL query. If your site uses PHP or MySQL, caching can reduce your resource usage and improve the performance of your website load times. Caching stores PHP pages as static HTML files, so the next time the page is loaded, the HTML page is loaded instead. If you are using a Content Management System such as WordPress or Drupal, you likely have a caching system in place or can download a third party plugin to help with caching.
Poorly coded Scripts/ Plugins/ Modules
It’s a common misconception that all websites have the same CPU / Memory usage. This is not the case though. For example, a WordPress website with a default theme and no plugins uses far less memory than another WordPress website with a custom theme and 20 plugins. Also, keep in mind that a website with one poorly coded plugin can cause CPU and memory usage than a website with 20 well-coded plugins.
Sometimes it’s as simple as updating your plugins and scripts to the latest versions. Most developers will update their code to address resource usage and fix security holes. If your website is custom coded you may need to examine the code or contact the developers who built the website for you.
Like any large collection of data, growing databases often need to be re-indexed to help speed up data retrieval. Properly maintained SQL databases make it easier for the server to get the data. In order to manage your database, you simply need to login to DirectAdmin and click on MySQL management. From there you may 'optimize' or 'repair' the database.
Enabling Hotlink Protection
Hotlinking is a term that describes when another site directly links to images on your site. This means that when someone clicks on an image that you have added to your website server, your server pays the penalty to serve that image out to the third-party website which should NOT have access to your files. This is know as "bandwidth stealing." You can prevent this with hotlink protection which is easily enabled in your cPanel. Be sure to include your addon/parked/sub-domains in the 'allow' list so that all your sites function properly. Please go to Enabling Hotlink Protection for more information.
Using a Robots.txt File
One of the most common causes of an abrupt rise in a web site's traffic is actually caused by the common search engine. Most of this traffic is typically unnecessary so reducing it can save a lot of resources on the server. You don't want to eliminate search engines altogether, but you should restrict them from being able to access directories that do not contain content that needs to be indexed by the search engine. You can use the ROBOTS.TXT file to block unfamiliar bots and spiders that are frequenting your web site. You can identify the spiders and bots crawling your site by looking at your AWstats, and restrict their activity using a robots.txt file. Also, they may be crawling your website too heavily and may need to be rate limited to keep your website from eating up server resources.
Cron Jobs running too often
Cron Jobs are basic task schedulers. This allows you to schedule a script to run in specific increments like every minute, every hour, or every day. Cron jobs that aren’t configured properly or ran too often can cause high server loads which can affect how your site loads.
Preventing IMAP Activity
Finally, another common cause of excessive usage for Web Hosting accounts is the excessive use of resources through large IMAP email accounts. Excessive resource usage can easily occur when too many users on the account have large IMAP email accounts. The server may often use a large portion of CPU activity simply synchronizing large email accounts. The best way to prevent this is to utilize offline folders and simple prevention limits on email accounts so as not to tax the network.
Possible Solutions Include:
- Archive messages server-side For full control over how your messages are archived on the server, for example naming your own folders, and controlling which mail goes where. This can be accomplished with server-side IMAP folders. These can be created via your e-mail client or one of the webmail clients available on our servers.
- Archive messages locally You can create a local folder on your computer instead of a server-side IMAP one, to archive messages from the server into. This will allow you to reduce the disk-space used by an e-mail account on the server and help it remain as efficient as possible while you're syncing new messages from that account.
- Switch to POP3
While you may run into possible cases where your options to reduce excessive resource usage on a Web Hosting Hub server are minimal, taking these simple steps to reduce the load may go a long way to resolve these problems. If your problems persist, then make sure to take to time so speak with our support team as they will have the best perspective for your options.
Upgrading your hosting plan
If your website is using a large amount of system resource it isn’t always an issue with the site or coding. It’s not uncommon for popular websites to start out on a shared hosting platform and eventually outgrow it.
If this is the case, typically our systems administrators will notify you of the plan you’ll need to upgrade to that will provide minimum platform requirements to meet your site’s resource usage.
In most cases when you choose to upgrade we will handle moving your account over to the VPS or Dedicated server, and most moves do not result in downtime for your site(s).