Погуглив, выяснила, что проблема может быть в сессиях, и таблицу #_session надо чистить руками. Первый раз, когда я так сделала, сайт мгновенно заработал! Но во второй и последующие разы phpMyAdmin стал просто зависать на этом запросе.
Написала скрипт для вывода из таблицы #_session списка, кто зашел на сайт. Почти исключительно боты.
Запретила доступ ботам как в robots.txt, так и в коде index.php:
$botnames = array('AhrefsBot', 'Ezooms');
foreach ($botnames as $bot)
if (strstr($_SERVER['HTTP_USER_AGENT'], $bot) !== false)
die;
В результате число сессий в таблице стало держаться на уровне 200.
Потом все равно стала появляться та же проблема: время от времени ошибка подключения к БД. Наутро обычно все восстанавливается само собой.
Каждый раз, как сайт перестает работать, пишу в службу поддержки, но они почему-то отвечают только тогда, когда сайт возобновляет работу. И отвечают, что, мол, всё работает. Никаких конкретных рекомендаций не дают.
Можно как-то узнать конкретные данные: что создает такую нагрузку на сайт?