If a provider wants to offer a respectable hosting service, they must set and enforce hosting resource limits.
This is essential to guarantee a stable service to all users on the same server, and to avoid overloads.
In this article, Hosting resources limits explained, we will see what the limits are for, what these limits are, how to keep them under control and how to fix them in case of a block.
We will also learn how some providers are said to block the site to push for upgrades, using unfair practices to make their customers spend more money with upgrades that are not really necessary.
Table of Contents
Without delaying any further, let's see why providers must have limits if they want to offer a respectable service.
Why have hosting resource limits
As I mentioned, a company that wants to provide a professional hosting service must establish limits, which are more or less high.
This is because if a client has a spike in visits or is under attack, depending on the size of the spike, it could cause problems for the entire server.
Obviously, we must prevent that one client from causing problems to all other clients on the same server. In such a case it is necessary to set a temporary block on the single site and safeguard all other clients.
There is a need to set limits to avoid this kind of problem, using a monitoring system of all accounts that automatically suspends an account when a limit is exceeded and reactivates it as soon as it is within the limits.
What parameters are being monitored and with what systems?
Hosting resources limits explained: What kind of systems exist for monitoring?
There are basically two systems for monitoring resource consumption:
- 1H software
CloudLinux is a version of Linux that provides more security and works with cPanel. It is the monitoring system we use on SupportHost and the most widely used system.
1H software is the system used by some providers including SiteGround, it controls other parameters than CloudLinux, which is why it is not possible to make a direct comparison between the two systems.
Both systems provide a graphical interface accessible from the control panel that allows us to control the consumption of the account, as we will see in one of the next sections.
CloudLinux controls the usage of:
1H software monitors:
- CPU usage seconds
- Connections from a given IP
- Script executions.
These limits in the case of a dedicated server are physical, the RAM that you can use and the CPU usage depend directly on the hardware you use.
In the case of a vps cloud hosting ithe limits are given by the resources that are associated with the virtual machine by the virtualization software.
What limits are imposed on a shared server?
Each provider decides the limits of hosting resources based on different evaluations, which include not only a technical part but also a commercial part. For example, some providers offer unlimited RAM, but limit processes as much as possible in order to promote this feature. While others make more balanced choices.
You will hardly find two different providers that have the same limits unless they have copied each other.
Everyone knows what disk space and monthly traffic are, but what about the other hosting resource limits? What are they? What do they mean?
This is the main limit, each server has a space limit based on the number and capacity of its disks. Even if someone offers unlimited hosting, this is not in fact possible, and the limits are elsewhere, but you can be sure they are there.
We prefer a clear policy, stating how much space can be used on each account, without the necessity of writing tiny little limits in text in the terms of service, knowing that no one will read them.
Also, we choose to use SSD disks on all of our servers to give you SSD hosting that is always at peak performance.
This limitation is also one of the main ones. Again, some providers offer unlimited or unmetered traffic, and then set other limits.
Definitely, a strategy that brings its results, otherwise there wouldn't be many people doing it, but in my opinion not very transparent.
As in the case of space, it is impossible to offer unlimited monthly traffic, since there are physical limits due to the connection speed of the server.
CloudLinux performs a check on the RAM used by each account and if the limit is exceeded the account is suspended for a time period that varies, depending on peak usage.
The account is unblocked as soon as possible, fully automatically.
When an account exceeds the RAM limit, CloudLinux frees up some of the memory used for caching and if that is not enough it kills some processes.
This usually results in Error 500 or Error 503.
The CPU limit is set as the percentage of a core that the account can use.
100% means 1 CPU, 200% 2 CPUs, etc...
If an account exceeds this limit, it is forced inside the limits in real-time.
This limit controls the reading of data to disk for the account. When the limit is reached the processes are put to sleep (throttled).
Basically once the limit is reached they continue to run, but slower than normal.
This value limits the number of all processes running on the account, not just PHP processes.
Remember that a process takes a fraction of a second to complete. A limit of 100 processes does not mean 100 online visitors.
If you have a low number of visitors but a high number of processes you probably have a problem with your script.
This limit monitors the number of simultaneous connections to Apache (PHP processes), which if reached causes Error 508 (Resource Limit Reached).
An inode is a single file in your account. It can be a file on your site, an email, or something else. Every single file on your account is considered an inode.
We don't have a limit on inodes, but many providers that offer unlimited space set a limit on inodes.
Hosting resource limits explained: blocks and upgrades
Often I read in groups about people complaining that this or that provider has blocked their site for excessive use of resources.
Regularly someone's comment comes in saying they do it all the time, and they do it to get you to upgrade.
I want to be clear about something. If there are thresholds in the terms of service it is unlikely that the provider:
- Lower them to get you over the limit and get you to upgrade
- Lie to you that you exceeded them to get you to upgrade.
Doing any of the above is a scam, and a company that makes millions (like those that are routinely accused of these unfair practices) does not resort to such tricks to make its customers spend more money.
Also because they would risk being sued for fraud, therefore I would rule that out.
What happens is that they set very low hosting resource limits, compared to those set by competitors for services at the same price/level, so it's easy to reach the limit and see your site blocked for a few hours or more.
Note: it is possible that you reach one of these limits because of a poorly written function that uses more resources than it should, so it is not always the fault of a low limit. In some cases, the problem is a poorly made site.
Check your account usage
If your provider uses CloudLinux and has enabled the feature you can see the consumption directly from cPanel, in a few clicks.
After logging into cPanel scroll down to the "Resource Usage" section and click on the resource usage tool.
On the main page you will see if there have been recent blocks or not:
By clicking on Current usage you will see a series of graphs, which are generated in real-time based on consumption.
Let's take a look at a graph for each of the limits I explained above, and see how many resources our site is actually using.
This allows us to:
- Verify if the provider is lying to us about the limits
- Verify in real-time the resource usage and evaluate whether or not we need to upgrade to a higher plan.
In the Snapshot section, we can see a "snapshot" of the moment we received the last block, so we can understand what may have caused the limit to be reached and prevent it from happening again in the future.
Hosting resource limits are a much-needed headache, it's better to have a limit and know that your site is safe than the other way around.
As seen in this article, Hosting resources limits explained, all hosting services have a limit, whether they are physical as in the case of a dedicated server, or set via software as in the case of a monitoring system.
No company (probably) performs cheating actions like lowering limits or lying about resource usage to push you to spend more. They most likely have low limits, and you discovered this by bumping into them.
Have you had problems with hosting resource limits? Were you able to resolve them? Let me know in the comments below.