What Is a “Fair Use” of SiteGround Web Hosting Services and Why Is It Important?
Table of Contents
When you select our StartUp, GrowBig, and GoGeek hosting plans, your account is created on one of our “shared” servers. The word “shared” refers to the fact that the server’s resources such as CPU and RAM, responsible for the accessibility and functioning of your websites, are shared among multiple users, accounts, and websites. Regardless of how much CPU and RAM and how few accounts we manage on a single machine, these resources are always going to be finite, and when many people share a finite resource, for which they pay equally, there need to be some rules and regulations that make it “fair” to everyone to get their share of such.
That is why we make a promise to our clients that we will ensure that each and everyone of you gets their fair share of server resources and that we will prevent individual users from occupying too much of these, thus causing performance issues that affect the rest of the users. To achieve that we have a system that monitors the consumption of server resources like the CPU, the RAM, and I/O (disk usage metrics) and when a single user uses more than their fair share for a longer period of time, we may limit the availability of such resources for their account.
For your convenience, we have set red-flag values that illustrate what’s an acceptable usage threshold of the shared server resources.
CPU seconds used per hour, day, and month
CPU seconds is the CPU time measured in seconds that is used for the processing of the operations/instructions of a website script or any other computer program. This metric is useful to measure how a single process CPU usage is shared amongst others.
Based on all-time historical data across our servers, we have seen that active websites suitable for shared hosting would not use a lot of CPU seconds under normal circumstances for standard operations. However, we have also taken into account unexpected traffic spikes (whether due to growth in popularity or malicious attacks) and the natural growth cycle of a website. Thus our thresholds are extremely accommodating various business cases and get higher on the higher and more expensive plans:
- On StartUp plans: 1000/hour, 10000/day, 300000/month
- On GrowBig plans: 2000/hour, 20000/day, 600000/month
- On GoGeek plans: 4000/hour, 40000/day, 800000/month
Server memory per process
When a process takes too much RAM when executed and stacks with other similar processes, it blocks this server resource, and other users’ processes cannot start and this results in their websites not operating. That is why we are allocating up to 768MB RAM per process.
Number of Inodes on the account
The number of inodes, or otherwise known as the number of files, folders, and email messages on your account, is important for the proper I/O disk utilization and affects the rest of the server resources. Every file or folder operation, such as reading, listing, modification, or backup, requires such I/Ops as well as RAM and CPU. That is why we ask you to consider the following hard limits:
- On StartUp plans: 200000 inodes per account
- On GrowBig plans: 400000 inodes per account
- On GoGeek plans: 600000 inodes per account
Database Size
Managing large databases is rarely efficient. It is problematic when you need to export or import them and takes longer for any query requiring a database response to be processed. Any operation with such a database would require more CPU or RAM than a reasonable amount in a shared environment. That is why we ask you to keep your databases up to 1000MB in size.
Cron Jobs
The cron job is a service that schedules script execution at specific dates and times. It is usually used to schedule recurring tasks or to check for time-based events. We strongly recommend that you monitor the exact time cron jobs are running and the duration of the processes that run. Make sure there is at least 30 minutes difference between scheduled script executions. Overlapping cron job events may lead to increased resource consumption of your account.
What happens when you exceed any of these thresholds?
We understand that sometimes resource usage spikes are unexpected and webmasters might have not had time to prepare for them. That is why our system relies on a series of early warnings when such are possible and in case of an extreme or repetitive over-usage, we may need to limit the access to your website until you take action.
How to keep your account within the acceptable use limits here?
Exceeding these values, or even approaching them should trigger a red flag for you as a webmaster since it means one of the two things – your website has either outgrown the current hosting plan capacity, or it requires optimizations. That is why we give you some tips on what to monitor in order to keep your account within the fair use of resources:
- Check your account for PHP scripts that take too long to be executed. To do that go to your Client Area > Services > Manage account > tab Statistics.
- Running too many simultaneous processes for a longer period of time – you may want to review why that is and how to reduce their duration and number.
- Update old themes and plugins and remove unused ones – old software by definition tends to use more CPU and RAM than its later versions. Furthermore, unused software even though inactive, still starts processes and consumes resources.
- Check the performance of newly added components to your website – plugins, themes, custom code extensions. Once you add a new piece of code to your website, take time to monitor its performance, including the duration of scripts and processes it creates.
- Review your database queries – those that require processing too large data sets and/or such that require too long to be executed should be re-written or optimized otherwise.
- Periodically clean old and unused files – backups and emails being the two most common – from the account to decrease the inode usage and the consumption of server resources.