@man_without_face
студент

В какой момент нужно что-то делать?

У меня небольшой домашний сайт, на котором пользователи сделали уже столько данных, что есть таблицы по 2млн записей (а всего около 90 таблиц), и это всё за полгода. При разворачивании проекта у тостера, особо и не думал что так разрастётся, поэтому настройки Postgres брал стандартные.

Вроде сейчас никаких проблем, всё работает и без перебоев, но я впервые сталкиваюсь с такими объёмами, поэтому переживаю, что в один момент с базой что-то будет плохое. Тормозить там начнёт или типа того.

Скажите, если у вас достаточно опыта, что мне посоветуете делать? Я могу увеличить мощности сервера в два раза, это не проблема. Меня больше пугает, а как поведёт себя Postgres? Может с ним надо какие-то профилактические работы делать или типа того? Я читал что есть всякие вакуумы какие-то и анализаторы, но обычно так не углублялся и не знаю чего дальше-то?, может и нет проблемы, добавляй памяти, увелчивай жесткий и всё будет норм.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
2 млн записей - это такие копейки.
Что-то делают обычно когда проект не влезает в описание "сейчас никаких проблем".

Что основное можно сделать:
покрутить настройки checkpointer (чтобы checkpoint срабатывал реже - резко меньше random i/o, но при крахе база может дольше стартовать), autovacuum (опустить оба scale_factor куда-нибудь в 0.05 - чтобы автовакуум запускался чаще, но делал меньше работы, плюс уменьшить autovacuum_vacuum_cost_delay - это зависит от дисков)
shared_buffers где-то в 25% от объёма RAM
включить pg_stat_statements и поглядывать топ запросов оттуда
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы