Server load is an alarming sign. If you received a notification about overload, it means that your website may be slow, it may occasionally fail to load returning errors 503 and 508. In terms of technical support of the server, the situation is even more dangerous, as the excessive load on one website may lead to a server crash. If such load is observed on your website, your account may be suspended. It is bad news for the website owner. Technical support blocks sites not out of harm, but out of an urgent need to maintain the working state of resources of most of its customers.
You can’t protect yourself from some reasons of overload. However, there are factors that you can and need to prepare for in advance.
One of them is slow requests on your website.
You can identify such requests using Query Monitor, Debug Bar, NewRelic or similar plugins. There are no universal instructions for eliminating slow requests. In any case, to change the logic of requests, you will need a developer.
Another reason is the extension of one of the spreadsheets.
In some engines, cache, legacy sessions, search indexes, etc. are stored in special spreadsheets in the database. The older your website, the more such junk is stored in the database. In case of requests to such resources, the server has to go through a multitude of lines, which creates an excessive load on the processor. We recommend reviewing these issues in the resources related to your engine in advance to protect yourself from such situations in the future.
A common reason for database overload includes uncontrolled requests from search bots, page crawlers, and third-party resources used to check website availability. It appears spontaneously and is easily tracked using access logs. In such cases, we recommend setting a crawl-delay directive in robots.txt. For malicious bots which do not read this directive, there is an IP blocking rule using the htaccess file. You can also use dedicated services, which proxy and filter traffic, such as Cloudflare.