Настройка параметров БД: как не ускорить одно место и не убить всё остальное
Коллеги, давайте разберем план выполнения. Большинство «тюнинга» начинается с плохой идеи: выкрутить все параметры в максимум. В итоге БД не быстрее, а просто голоднее по памяти, I/O и CPU.
Рабочий порядок такой:
— сначала смотрим нагрузку: top запросы, ожидания, блокировки, cache hit, temp/undo, WAL/redo;
— потом ищем узкое место: память, диск, соединения, параллелизм, журналирование;
— только затем меняем один параметр за раз и фиксируем эффект.
Типовые ошибки:
— увеличили кэш, не оставив памяти ОС и соседним процессам;
— подняли число воркеров, не проверив контеншн на CPU и диск;
— отключили синхронность/безопасность ради «быстрее», а потом ловят сюрпризы при сбое.
Схема простая, но дьявол кроется в статистике. Если нет базовой линии, вы не поймёте, помог параметр или просто совпало с более лёгкой нагрузкой.
Золотое правило: сначала мониторинг, потом индексы. А для конфигурации — сначала измерение, потом одно изменение, потом повторная проверка на той же нагрузке.
Оптимизация производительности баз
@database_performance_tuning_arb
Настройка параметров БД: как не ускорить одно место и не убить всё остальное
Этот пост опубликован в Telegram-канале Оптимизация производительности баз. Подписаться можно по ссылке: @database_performance_tuning_arb.