Обновить
-14
-27.9
Ринат@pg_expecto

PostgreSQL Performance Engineer

Отправить сообщение

Не апгрейд, а оптимизация: комплексный тюнинг инфраструктуры подарил PostgreSQL 65% производительности

Уровень сложностиСложный
Время на прочтение5 мин
Охват и читатели6.8K

Часто при замедлении работы базы данных первым решением кажется увеличение вычислительных ресурсов: больше ядер, памяти, быстрые диски. Однако существует и другой, более экономичный путь — заглянуть глубже, на уровень операционной системы, управляющей этими ресурсами.

Данная статья — это практический разбор реального кейса, где скрупулёзная настройка параметров подсистемы ввода-вывода, кэширования и планировщика задач Linux позволила поднять производительность PostgreSQL на впечатляющие 65%. Без замены железа, без увеличения лицензий, только за счёт грамотной оптимизации «фундамента», на котором работает СУБД. 

GitHub - Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL

Читать далее

Анализ влияния checkpoint_timeout на производительность СУБД PostgreSQL

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели8K

В мире PostgreSQL, как и в автоспорте, не существует единой идеальной стратегии для всех трасс. Выбор интервала контрольных точек (checkpoint_timeout) — это пит-стоп: можно заезжать часто для максимальной скорости на прямых, но рискуя потерять время на самом заезде, или реже — для стабильного и предсказуемого ритма всей гонки. Всё зависит от типа «трассы» — характера нагрузки на вашу базу данных.

GitHub - Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL

Глоссарий терминов | Postgres DBA | Дзен

Читать далее

Отчет по анализу публикаций на Хабре о производительности СУБД PostgreSQL (июнь – декабрь 2025)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.4K

Статья, включая иллюстрацию, сгенерирована нейросетью DeepSeek.

Авторский только промпт:

Проанализируй публикации на Хабре по теме производительности СУБД PostgreSQL за последние полгода . Подготовь отчет о наиболее интересных публикациях и общем интересе читателей Хабра к теме производительности СУБД PostgreSQL.

Если интересно, читайте.

PostgreSQL: shared_buffers = 25% RAM?

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели9.7K

На основе методологии и результатов, представленных в статье "PG_EXPECTO: Анализ влияния размера shared_buffers на производительность СУБД PostgreSQL", можно сформулировать и обосновать следующую гипотезу:

Классическая эмпирическая рекомендация "shared_buffers = 25% от объёма оперативной памяти" не подтверждается строгим экспериментом и может считаться научно необоснованной. Основная причина снижения производительности СУБД PostgreSQL при высоком значении hit ratio (доли чтений из кэша) связана с увеличением нагрузки на процессор (CPU) для управления большим буферным пулом и конкуренцией за доступ к данным в памяти, а не с гипотетическими "накладными расходами" на обслуживание самого shared_buffers.

Читать далее

PG_EXPECTO: Анализ влияния размера shared_buffers на производительность СУБД PostgreSQL

Уровень сложностиСложный
Время на прочтение24 мин
Охват и читатели8.4K

Производительность СУБД — ключевой фактор , однако спонтанные проверки часто искажают реальную картину. PG_EXPECTO — это не просто набор скриптов, а чёткая методология, превращающая анализ PostgreSQL из хаотичного поиска проблем в структурированный, воспроизводимый эксперимент

Задача

Используя классическую задачу о влиянии значения параметра shared_buffers на производительность СУБД, подготовить и протестировать общую методологию проведения экспериментов по анализу производительности СУБД PostgerSQL c использованием нейросети для анализа статистических данных, собранных комплексом pg_expecto в ходе нагрузочного тестирования.

Читать далее

Оптимизация пагинации в PostgreSQL: Как настройка work_mem превратила ROW_NUMBER в лидера производительности

Уровень сложностиСложный
Время на прочтение17 мин
Охват и читатели7.2K

В мире высоконагруженных баз данных выбор метода пагинации может стать решающим фактором для производительности системы. Эксперимент, проведённый с двумя подходами — классическим ROW_NUMBER и отложенным соединением (Deferred Join) — показал, что даже архитектурно более совершенный метод не гарантирует победы без тонкой настройки СУБД. Исследование раскрывает, как правильная конфигурация памяти PostgreSQL перевесила преимущества Deferred Join и позволила ROW_NUMBER добиться превосходства на параллельной нагрузке .

Пример использования нейросети для анализа

Прогноз нейросети — Когда теория проигрывает практике или почему ROW_NUMBER() не стал королём пагинации PostgreSQL

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели7.6K

Исследование сравнило два метода пагинации — ROW_NUMBER() и Deferred Join — под нагрузкой до 22 параллельных сессий. Прогноз нейросети предсказывал преимущество ROW_NUMBER(), но реальные тесты показали обратное: Deferred Join оказался на 29,3% быстрее, создавал на 70% меньше ожиданий и лучше масштабировался. Этот кейс демонстрирует, как теоретические оптимизации могут не учитывать реальные ограничения СУБД: работу с памятью, параллелизм и стоимость операций ввода-вывода.

Читать далее

Оптимизация пагинации в PostgreSQL: сравнительный анализ производительности методов выборки случайных данных

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели6.5K

Для высоконагруженных систем выбор оптимального метода пагинации становится критически важным для производительности приложений. Данное исследование представляет собой сравнительный анализ трех основных подходов к пагинации в PostgreSQL при работе с таблицей в 15+ миллионов записей. Результаты не просто демонстрируют количественные различия в скорости выполнения запросов, но и раскрывают фундаментальные различия в использовании системных ресурсов, что позволяет принимать архитектурные решения на основе данных, а не предположений.

Читать далее

Пагинация в PostgreSQL: ROW_NUMBER убивает производительность

Уровень сложностиСложный
Время на прочтение19 мин
Охват и читатели11K

Эффективная пагинация — не просто удобство, а необходимость. Анализ нагрузочного тестирования, метрик системы и планов выполнения показывает, что выбор неправильного метода может замедлить приложение в 15 раз, создавая катастрофическую нагрузку на СУБД. Одни методы работают с молниеносной скоростью, а другие превращаются в «убийц производительности».

Читать далее

Итоги анализа вариантов оптимизации ресурсоёмкого SQL-запроса

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.3K

Исследовать и определить наиболее эффективный SQL-запрос, позволяющий получить информацию для анализа:

Неполных бронирований

Билетов без привязки к рейсам

Рейсов без процедуры посадки

Статистики по незавершённым операциям

Читать далее

Анализ вариантов оптимизации ресурсоёмкого SQL-запроса: Вариант-5 «Условие WHERE»

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели6.6K

Оптимизировать запрос в вакууме — просто. Но как он поведет себя, когда десятки таких же запросов одновременно борются за ресурсы?

Эксперимент-5 : Условие WHERE

Читать далее

Анализ вариантов оптимизации ресурсоёмкого SQL-запроса: Вариант-4 «Временная таблица»

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели7.3K

Оптимизировать запрос в вакууме — просто. Но как он поведет себя, когда десятки таких же запросов одновременно борются за ресурсы?

Эксперимент-4 : Временная таблица

Читать далее

Анализ вариантов оптимизации ресурсоёмкого SQL-запроса: Вариант-3 «Частичная агрегация»

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели7K

Оптимизировать запрос в вакууме — просто. Но как он поведет себя, когда десятки таких же запросов одновременно борются за ресурсы?

Эксперимент-3 : Частичная агрегация

Читать далее

Анализ вариантов оптимизации ресурсоёмкого SQL-запроса: Вариант-2 «TUNING»

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели6.2K

Оптимизировать запрос в вакууме — просто. Но как он поведет себя, когда десятки таких же запросов одновременно борются за ресурсы?

Эксперимент-2 : Оптимизация структуры запроса

Читать далее

Анализ вариантов оптимизации ресурсоёмкого SQL-запроса: Вариант-1 «EXISTS»

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели12K

Оптимизировать запрос в вакууме — просто. Но как он поведет себя, когда десятки таких же запросов одновременно борются за ресурсы?

Эксперимент-1 : Использование EXISTS

Читать далее

Особенности расчета коэффициента корреляции в PostgreSQL

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели7.2K

Для расчета коэффициента корреляции в PostgreSQL используется агрегатная функция corr

Однако, в ходе экспериментов была обнаружена интересная особенность функции corr — несовпадение результата с вычислениями в Excel.

Читать далее

PostgreSQL Antipatterns? Анализ эффективности замены агрегатной функции MAX на ARRAY

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели7.3K

Статья на Хабре "PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение" послужила отправной точкой для данного исследования. После ее изучения возникла гипотеза о возможности значительного повышения производительности PostgreSQL через замену агрегатных функций на конструкции ARRAY.

Читать далее

pg_expecto + Демобаза 2.0: тестовый стенд для экспериментов с СУБД PostgreSQL

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.9K

 Нагрузочное тестирование — это не просто «нагрузить систему до падения». Это точный инструмент для поиска причинно-следственных связей. В этой статье описан пример использования связки из Демобазы 2.0 и комплекса pg_expecto, чтобы провести контролируемый эксперимент. Изменим один SQL-запрос, запустим тест и проанализируем, как это изменение отразилось на производительности СУБД и показателях инфраструктуры.

ℹ️ Демобаза 2.0

Демобаза 2.0 для PostgreSQL / Хабр

Читать далее

Нейросеть против PostgreSQL: системные ошибки AI в прогнозировании производительности под нагрузкой

Уровень сложностиСложный
Время на прочтение3 мин
Охват и читатели7.2K

Использование нейросетей для оптимизации баз данных кажется перспективным направлением, но реальная эффективность таких систем требует тщательной проверки. В данном исследовании проанализирована способность нейросетевой модели точно прогнозировать производительность СУБД PostgreSQL в условиях экстремальной параллельной нагрузки. Результаты демонстрируют систематические ошибки AI, связанные с неспособностью учесть динамические аспекты работы СУБД.

Читать далее

ИИ как опасный советчик: Почему нейросетям нельзя доверять настройку производительности PostgreSQL

Уровень сложностиСложный
Время на прочтение4 мин
Охват и читатели6.1K

В статье проводится сравнительный анализ эффективности использования оператора JOIN и коррелированного подзапроса в СУБД PostgreSQL в условиях высокой параллельной нагрузки. На основе экспериментальных данных опровергаются универсальные рекомендации систем искусственного интеллекта.

Читать далее
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Администратор баз данных
Ведущий
SQL
PostgreSQL
Базы данных
Linux
Bash