У меня есть процедура резервного копирования, которая реплицирует производственную базу данных на наш промежуточный сервер. Он работает без проблем, но промежуточная база данных становится невыносимо медленной после восстановления с одного из снимков. Медленно до такой степени, что у моего веб-сервера просто время ожидания и 502-е.
Я проверил, что может быть причиной этого, и выделил две большие таблицы. У нас есть некая таблица сессий с несколькими большими ТЕКСТОВЫМИ полями. Мы храним некоторые неструктурированные данные и в настоящее время храним их в текстовых полях. Как только я уменьшу размер этой таблицы (удалив многие строки), промежуточная среда ускоряется и снова начинает нормально работать.
Я прошел через процедуру pg_reindexing базы данных и попробовал VACUUMing, но это не имеет большого значения. Это все еще очень медленно. Страницы, которым не нужен доступ к двум большим таблицам, работают нормально; страницы, которые не загружаются.
Короче, мне нужна помощь, чтобы ответить на два вопроса.
Есть ли лучший способ сделать дублирование базы данных от производственной до промежуточной, если мой дамп базы данных составляет> 130 МБ, который не вызовет этой проблемы? У меня создалось впечатление, что 130 МБ - это не очень большая база данных. Я подозреваю, что это все в большой таблице сеанса с полями ТЕКСТ, о которых я говорил ранее.
Есть ли способ оптимизировать эту таблицу? Есть ли какие-нибудь настройки, которые я могу сделать после pg_restoring? Боюсь, что в дождливый день мне придется восстанавливать данные из одной из этих резервных копий, и это повлияет на производительность всего сайта.
Заранее спасибо.
Когда вы пылесосите, вы АНАЛИТИРУЕТЕ?
Повторное индексирование не должно помочь: когда вы pg_restore, все эти индексы создаются с нуля.
Сам по себе VACUUM ничего не сделает: вновь восстановленная база данных не содержит мертвых кортежей, от которых нужно избавляться.
Запустите ANALYZE по всей базе данных после восстановления, это обновит статистику, позволяя оптимизатору запросов создавать эффективные планы запросов.