2.17.7. Exceeding CPU minutes consumption
What is a CPU minute?
According to paragraph 4.2 of terms of service on shared hosting, each hosting account must use no more than 100 CPU minutes per day. The restriction does not apply to business hosting, where guaranteed resources are provided in accordance with the selected plan with no limits on usage time (CPU time).
CPU minutes are tracked using a counter in the Linux operating system kernel. CPU time is counted overall for the hosting account, encompassing all processes running within it. Unfortunately, it is not possible to determine which specific site or script within the hosting account is generating the load. This is because the Linux operating system tracks CPU time only by user, and each hosting account is a separate Linux user. To make it easier to understand, you can draw an analogy with a water meter in an apartment, where the total consumption is known, but it is not known how much each faucet has consumed.
CPU time — this is the time that server CPU spent on processing the task. CPU time depends only on the work performed.
1 CPU minute — is the utilization of one CPU core at 100% for one minute.
Exceeding this limit means that the hosting account's sites are causing increased server load and may negatively impact the operation and performance of the hosting account.
All server resources are distributed among the clients that reside on that server. If one client uses much more server resources than the others, it causes the quality of hosting services for the rest of the hosting clients to drop. Because of this, we have to control the resources that are consumed by the users.
The number of sites and their number of visitors do not directly affect resource consumption. You can create a single page that will use 100% of server resources with 100 visitors per day, or you can create a site that will process 100000 requests per day and create a load of 50 CPU minutes.
The resource limitation process is fully automated and applies to all clients.
What happens when an overload occurs
- The system checks once a day the number of CPU minutes used by the web server and the MySQL server.
- If the load on the web server or MySQL server exceeds 100 CPU minutes during the day, an incident is created in the system, and a notification of the exceedance is sent to your email and connected messengers.
- Once a day, the system checks the load metrics for the past week.
- If the load does not decrease, restrictions will gradually be applied to the hosting account.
- These restrictions are necessary to keep the load within the allowed limit of 100 CPU minutes.
- Restrictions are not imposed immediately after an incident is created, but rather when the necessary measures have not been taken and the load has not decreased over the course of several days.
- Restrictions are applied no more than once a day, depending on the activity levels over the past few days.
- A notification is sent whenever restrictions are tightened.
- If the load decreases, the restrictions are gradually lifted.
- If the load significantly exceeds the limit (more than twice the allowed amount), the hosting account will be moved to a special server, from which it can only be returned after the load issue has been resolved.
- If the load limit is exceeded for more than 14 days, a request limit will also be applied to the hosting account.
- When the load remains within normal limits for 7 days plus the number of incidents over the past half year * 2, the issue is considered resolved and the incident is automatically closed.
- At any time, you can change plan to business hosting and quickly resolve the issue.
Solution options
Possible solutions to the problem of excessive load:
- Analyze the possible causes of the problem.
- Take advantage of standard recommendations to reduce load.
- Switch to business hosting.
Please note that CPU minutes consumption can depend on a variety of factors, including site logic, code quality, and so on; therefore, it is not possible to provide a one-size-fits-all solution or specific optimization recommendations. To identify the causes and resolve issues related to exceeding the load limit, you should consult with specialists in the field of site development.
Can I purchase additional CPU minutes?
On shared hosting — no. The 100 CPU minutes per day limit applies to all shared hosting plans.
If shared hosting resources are insufficient, you may want to consider switching to business hosting, VPS or dedicated server, where there are no limits on CPU time — you will only be limited by the resources of your chosen plan or server and can use them without time restrictions.
However, if a single hosting account hosts multiple sites, none of which would individually exceed the limits, an alternative option might be to order additional hosting accounts and transfer the sites to them. For example, a single hosting account hosts two sites, each of which consumes approximately 70 CPU minutes per day. The total load will exceed the limit, but if you order an additional hosting account and transfer one of the sites to it, you will end up with two hosting accounts that do not exceed the limits instead of one hosting account that does.
I solved the load issue
If you have resolved the load issue, the load graphs for the web server and MySQL server should not show values exceeding 100 CPU minutes.
If the load over the past day does not exceed 100 CPU minutes, the restrictions are gradually lifted, and the incident is automatically closed after a certain period of time.