PG_EXPECTO
32 subscribers
68 photos
30 videos
129 links
Эксперименты по анализу и оптимизации производительности PostgreSQL.
📝Автор и ведущий: Сунгатуллин Ринат. 📨Telegram: @rinace
📧Email: kznalp@yandex.ru
⛩️Дзен: https://dzen.ru/kznalp
🗳️GitHub: https://github.com/pg-expecto/pg_expecto
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Анонс следующей статьи:"PG_EXPECTO: Анализ влияния work_mem на операции в памяти СУБД PostgreSQL"
https://dzen.ru/a/aULBju4l2iRx7gNd
Параметр work_mem важен для устранения операций ввода-вывода на диск при выполнении сортировок и хеш-соединений, однако его увеличение не является панацеей для повышения производительности.

Для данной нагрузки и конфигурации достаточно значений в диапазоне 8–16 МБ.

Дальнейший рост производительности должен достигаться за счёт оптимизации других аспектов СУБД и инфраструктуры, таких как настройка блокировок, параллелизма и управления таймаутами.
Анонс следующей статьи: "Анализ влияния checkpoint_timeout на производительность СУБД при смешанной нагрузке SELECT/INSERT/DELETE"
1. Цель и гипотеза

· Цель: Определить оптимальное значение параметра checkpoint_timeout для конфигурации 8 CPU / 8 GB RAM под смешанной OLTP-нагрузкой (SELECT/INSERT/UPDATE/DELETE) с варьируемой интенсивностью (5-22 конкурентных соединения на тип запроса), обеспечивающее максимальную общую пропускную способность (TPS) и минимальную среднюю задержку (latency).
· Основная гипотеза: Существует нелинейная зависимость между checkpoint_timeout и производительностью. При увеличении значения от минимального (5 мин) производительность будет расти, достигнет «плато» (оптимальный диапазон), после чего либо стабилизируется, либо начнёт снижаться из-за чрезмерно долгих и интенсивных операций записи во время контрольной точки. Гипотеза для проверки: оптимальный диапазон лежит между 10 и 45 минутами.
Первые эксперименты по теме checkpoint_timeout , проведены. Материала собрано много , идет анализ. Пока , без неожиданностей. Результаты предыдущих экспериментов подтверждены - уменьшение checkpoint_timeout это хорошо .
Для большинства продуктивных-сценариев checkpoint_timeout = '5m' предпочтительнее, так как обеспечивает более стабильную и предсказуемую производительность без экстремальных провалов, что критически важно для отзывчивости системы.
This media is not supported in your browser
VIEW IN TELEGRAM
Огромная работа проделана. Настроение как на Эльбрусе, летом 2005 года - весь мир на ладони, ты счастлив и нем.
Методика , составляющая фундамент pg_hazel и pg_expecto позволяет не только проводить эксперименты и исследования, но и выявлять архитектурные проблемы СУБД в ходе анализа инцидента производительности
https://dzen.ru/a/aUpKleHCIwckc8PH
В мире настройки PostgreSQL, как и в автоспорте, не существует единой идеальной стратегии для всех трасс. Выбор интервала контрольных точек (checkpoint_timeout) — это ваш пит-стоп: можно заезжать часто для максимальной скорости на прямых, но рискуя потерять время на самом заезде, или реже — для стабильного и предсказуемого ритма всей гонки. Всё зависит от типа «трассы» — характера нагрузки на вашу базу данных.
https://dzen.ru/a/aU-4l9AcUR5e2_nt
Главный итог 2025 года - PG_EXPECTO идёт под всеми парусами.