If for a long time your site worked quickly, and then at a certain point it began to load slowly and you have to wait 10-30 seconds until each page opens, then you first need to determine if the connection to which one occurs when the page loads. then an external service.
In some modules and templates Joomla! developers insert code that connects to remote sites to collect statistics or get some data. Over time, the developer of the module begins to realize the stupidity of what he has done, since many requests are sent to his site from different hosting servers, and begins to block the servers of hosters from which requests are coming. At the same time, your site is still trying to open the developer's site, but it fails. The script has to wait 10-30 seconds before disconnecting. As a result, your site slows down, although neither you nor the hoster changed anything.
You can find out the presence of external connections by analyzing outgoing connections.
If there is no way to disable calls to the problem server on the site side, you can try in PHP settings decrease the value of the parameter "default_socket_timeout", Which is responsible for how long it takes to wait for a response from the external server before the connection is forcibly closed.