FP.AMA.RF

АМА-сессия с Романом Фроловым: Инструменты и средства настройки производительности PostgreSQL

Аббревиатура AMA расшифровывается как «ask me anything» — «спроси меня о чём угодно»

Слушатели курса изучат основы конфигурации PostgreSQL и Linux, методы нагрузочного тестирования, и настройку логирования. Курс включает современные инструменты, такие как BPF, eBPF и BCC, традиционные и новые средства диагностики, терминальные мультиплексоры, а также углублённый анализ статистики и метрик производительности.

Особое внимание уделено работе с событиями ожидания, таймаутами, расширениями PostgreSQL, настройке окружения и мониторингу фоновых процессов. Практическая часть охватывает обслуживание индексов, масштабирование и секционирование данных, работу с пулом соединений, использование отладчиков и визуализацию данных. Участники также познакомятся с методами построения отчётов с использованием pg_profile и pgpro_pwr, а завершение курса даст навыки планирования и выполнения обновлений PostgreSQL для поддержания актуальности и стабильности базы данных.

Предварительная подготовка:
Опыт работы с Linux
Навыки администрирования PostgreSQL
Прохождение курсов или эквивалентные знания в рамках программы PP.16.DBA1 и PP.13.DBA2
80 000₽

Длительность

5 дней (40ч в неделю)

Доступ к курсу

Навсегда в личном кабинете

Документы

Удостоверение о повышении квалификации

Расписание

Дата и место проведения
Начало
Формат
Преподаватель
Стоимость

Кому подойдет этот курс

    Администраторы PostgreSQL

Получаемые знания

  • Понимание основ производительности PostgreSQL
  • Настройка конфигурации PostgreSQL и Linux
  • Диагностика и мониторинг производительности
  • Использование метрик и инструментов мониторинга
  • Настройка логирования и отчётности
  • Оптимизация окружения и ресурсов PostgreSQL
  • Масштабирование и секционирование данных
  • Использование отладчиков и терминальных мультиплексоров

Программа курса

31 модуль
Тема 1.  Введение 

Обзор курса и цели обучения;

Основные метрики производительности PostgreSQL;

Инструменты, используемые в курсе;

Подготовка рабочего окружения;



Тема 2.  Настройка конфигурации PostgreSQL

Параметры shared_buffers, work_mem, effective_cache_size;

Настройка WAL: wal_buffers, checkpoint_timeout, max_wal_size;

Параметры планировщика запросов;

Рекомендации по настройке для различных нагрузок;



Тема 3.  Настройка конфигурации Linux 

Параметры ядра для PostgreSQL: vm.dirty_ratio, vm.swappiness;

Настройка huge pages;

Конфигурация планировщика ввода-вывода;

Параметры файловой системы и монтирования;



Тема 4.  Нагрузочное тестирование

Утилита pgbench: конфигурация и запуск тестов;

Интерпретация результатов нагрузочного тестирования;

Создание собственных сценариев нагрузки;

Методология сравнительного тестирования;



Тема 5.  Настройка логирования PostgreSQL

Параметры log_statement, log_duration, log_min_duration_statement;

Формат журнала и его анализ;

Утилита pgBadger для анализа логов;

Баланс между детализацией и производительностью;



Тема 6.  Терминальные мультиплексоры

Утилиты tmux и screen: основные команды;

Работа с несколькими сессиями одновременно;

Применение при администрировании удалённых серверов;

Сохранение рабочих сессий;



Тема 7.  Традиционные средства диагностики Linux

Утилиты top, htop, vmstat, iostat, sar;

Анализ использования CPU, памяти, дисков;

Мониторинг процессов PostgreSQL;

Определение узких мест в системе;



Тема 8.  BPF и eBPF

Технология Berkeley Packet Filter и её эволюция;

Архитектура eBPF в ядре Linux;

Применение eBPF для трассировки и мониторинга;

Инструменты на базе eBPF для анализа PostgreSQL;



Тема 9.  BCC

BPF Compiler Collection: установка и обзор;

Основные утилиты BCC: biolatency, execsnoop, opensnoop;

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

Написание собственных BCC-скриптов;



Тема 10. Статистики, метрики, счётчики  

Системные представления pg_stat_*;

Статистика таблиц, индексов, активности;

Мониторинг блокировок и ожиданий;

Настройка сбора статистики;



Тема 11. События ожидания

Классификация wait events в PostgreSQL;

Представление pg_stat_activity: анализ wait_event_type;

Диагностика блокировок и ожидания ввода-вывода;

Интерпретация событий ожидания для оптимизации;



Тема 12. Таймауты

Параметры таймаутов в PostgreSQL: statement_timeout, lock_timeout;

Настройка idle_in_transaction_session_timeout;

Влияние таймаутов на производительность и стабильность;

Рекомендации по настройке для различных сценариев;



Тема 13. Расширения PostgreSQL 

Обзор расширений для мониторинга и производительности;

pg_stat_statements: анализ запросов;

auto_explain: автоматическое логирование планов;

pg_buffercache, pg_prewarm и другие полезные расширения;



Тема 14. Профилирование PostgreSQL (pg_profile/pgpro_pwr)

Установка и настройка pg_profile;

Создание и анализ отчётов о нагрузке;

pgpro_pwr: расширенное профилирование в Postgres Pro;

Сравнение снимков производительности за разные периоды;



Тема 15. Профилирование Linux

Утилита perf: сбор и анализ профилей;

Flame graphs для визуализации нагрузки;

Профилирование процессов PostgreSQL на уровне ОС;

Определение горячих точек в коде;



Тема 16. Использование отладчиков

Отладчик gdb для анализа процессов PostgreSQL;

Получение стека вызовов (backtrace);

Анализ core dump файлов;

Практические сценарии отладки проблем производительности;



Тема 17. Трассировка PostgreSQL

Встроенные средства трассировки PostgreSQL;

EXPLAIN и EXPLAIN ANALYZE: анализ планов выполнения;

Параметры auto_explain;

Детальный анализ выполнения запросов;



Тема 18. Трассировка Linux

Утилиты strace и ltrace;

Трассировка системных вызовов процессов PostgreSQL;

Утилита bpftrace для динамической трассировки;

Анализ взаимодействия PostgreSQL с ядром;



Тема 19. Визуализация данных

Инструменты визуализации: Grafana, pgwatch2;

Создание дашбордов для мониторинга PostgreSQL;

Визуализация метрик производительности;

Настройка алертов и уведомлений;



Тема 20. Стратегии хранения данных

Выбор файловой системы для PostgreSQL;

Настройка RAID и SSD для оптимальной производительности;

Распределение данных по табличным пространствам;

Разнесение WAL и данных по разным дискам;



Тема 21. Загрузка данных в PostgreSQL

Оптимизация массовой загрузки: COPY vs INSERT;

Настройка параметров для ускорения импорта;

Отключение индексов и ограничений при загрузке;

Параллельная загрузка данных;



Тема 22. Настройка окружения PostgreSQL

Параметры операционной системы для оптимальной работы;

Настройка лимитов ОС: ulimit, sysctl;

Оптимизация сетевого стека;

Конфигурация файловой системы;



Тема 23. Мониторинг

Комплексный мониторинг PostgreSQL в production;

Системы мониторинга: Zabbix, Prometheus, pgwatch2;

Ключевые метрики для отслеживания;

Построение стратегии мониторинга;



Тема 24. Устройство памяти PostgreSQL

Архитектура памяти: shared memory и local memory;

Shared buffers и механизм кеширования;

Управление рабочей памятью: work_mem, maintenance_work_mem;

Диагностика использования памяти;



Тема 25. Диагностика фоновых процессов

Фоновые процессы PostgreSQL: checkpointer, autovacuum, bgwriter;

Мониторинг и настройка фоновых процессов;

Влияние фоновых процессов на производительность;

Диагностика проблем с checkpoint и vacuum;



Тема 26. Обслуживание индексов

Обнаружение раздувания (bloat) индексов;

Перестроение индексов: REINDEX, CREATE INDEX CONCURRENTLY;

Мониторинг использования индексов;

Удаление неиспользуемых индексов;



Тема 27. Параллельное выполнение

Параллельные запросы в PostgreSQL: настройка и использование;

Параметры max_parallel_workers, parallel_tuple_cost;

Типы операций с поддержкой параллелизма;

Диагностика и оптимизация параллельного выполнения;



Тема 28. Масштабирование PostgreSQL

Вертикальное и горизонтальное масштабирование;

Распределение нагрузки чтения на реплики;

Шардирование данных: подходы и инструменты;

Citus и другие расширения для масштабирования;



Тема 29. Секционирование

Декларативное секционирование в PostgreSQL;

Типы секционирования: по диапазону, по списку, по хешу;

Настройка и обслуживание секционированных таблиц;

Влияние секционирования на производительность запросов;



Тема 30. Пул соединений

Проблема большого числа соединений в PostgreSQL;

PgBouncer: установка, режимы пулинга, настройка;

Pgpool-II: балансировка нагрузки и пулинг;

Встроенный пул соединений в новых версиях PostgreSQL;



Тема 31. Мажорные и минорные обновления PostgreSQL

Минорные обновления: процедура и рекомендации;

Мажорные обновления: pg_upgrade, логическая репликация;

Подготовка к обновлению: тестирование совместимости;

Откат обновления при возникновении проблем;



Сертифицированные инструкторы

Все

В нашу команду преподавателей входят лучшие специалисты, стоявшие у истоков внедрения Oracle в России, в т.ч. четверо имеющих квалификацию Oracle Certified Master

Где купить Инструменты для администрирования PostgreSQL: Ваша карта сокровищ в мире баз данных

Сегодня мы поговорим о волшебных артефактах, которые превращают администрирование PostgreSQL из запутанного квеста в приятное и эффективное занятие: об Инструментах для администрирования PostgreSQL. Это как найти удобную карту, которая проведет вас через лабиринт данных, избегая ловушек и тупиков. Но где же отыскать эту карту сокровищ?

Почему Инструменты для администрирования PostgreSQL – это не роскошь, а необходимость?

PostgreSQL – мощная и гибкая база данных, но без правильных инструментов управление ею может превратиться в рутинную и трудоемкую задачу. Представьте себе, что вы пытаетесь собрать сложный конструктор без инструкции и отвертки. Возможно, у вас и получится, но времени и нервов вы потратите гораздо больше, чем могли бы.

Инструменты для администрирования PostgreSQL позволяют автоматизировать рутинные задачи, мониторить производительность, выявлять проблемы и быстро их устранять. Это как получить суперспособности, позволяющие видеть сквозь стены данных и управлять ими одним щелчком мыши.

Многообразие инструментов: На любой вкус и цвет

К счастью, мир инструментов для администрирования PostgreSQL богат и разнообразен. Выбор огромен, как в большом магазине инструментов. Вот лишь некоторые из самых популярных вариантов:

  • pgAdmin: Это как швейцарский нож – бесплатный, функциональный и всегда под рукой. Графический интерфейс для управления серверами, базами данных, таблицами и другими объектами.
  • Dbeaver: Еще один бесплатный универсал. Поддерживает множество баз данных, включая PostgreSQL, и предлагает широкий спектр функций для администрирования и разработки.
  • DataGrip: Платный инструмент от JetBrains (создателей IntelliJ IDEA). Мощный и удобный редактор SQL, инструменты для рефакторинга, интеграция с системами контроля версий. Идеален для разработчиков.
  • pgcenter: Расширение для PostgreSQL, предоставляющее веб-интерфейс с графиками и аналитикой для мониторинга производительности в реальном времени.
  • Cloud-based tools (AWS RDS, Azure Database for PostgreSQL, Google Cloud SQL): Облачные решения, предлагающие встроенные инструменты для администрирования PostgreSQL, автоматическое резервное копирование, масштабирование и другие полезные функции. Это как арендовать дом с садовником и горничной.

Преимущества использования Инструментов для администрирования PostgreSQL: Легкость, эффективность, контроль

Давайте рассмотрим конкретные преимущества использования этих инструментов:

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

Пример из реальной жизни: Компания, занимающаяся разработкой мобильных приложений, использовала DataGrip для рефакторинга SQL-кода и оптимизации запросов к базе данных PostgreSQL. Результат: увеличение скорости работы приложения в 2 раза и снижение нагрузки на сервер.

Обратная сторона медали: О чем стоит помнить

Не все так безоблачно. При выборе и использовании инструментов для администрирования PostgreSQL нужно учитывать и некоторые недостатки:

  • Стоимость: Некоторые инструменты (например, DataGrip) являются платными.
  • Зависимость от графического интерфейса: В некоторых ситуациях командная строка может быть более эффективной.
  • Необходимость обучения: Для эффективного использования инструментов необходимо потратить время на их изучение.
  • Потенциальные проблемы безопасности: Неправильная настройка инструментов может привести к утечкам данных.

Когда использование графических инструментов может быть нецелесообразным? Если вы опытный администратор PostgreSQL, комфортно чувствуете себя в командной строке и выполняете простые задачи, возможно, вам и не нужны навороченные графические инструменты.

Выбирая инструменты для администрирования PostgreSQL, обратите внимание на следующие факторы:

  • Функциональность: Какие задачи вы планируете решать с помощью этого инструмента?
  • Удобство использования: Насколько интуитивно понятен интерфейс?
  • Производительность: Не будет ли инструмент замедлять работу базы данных?
  • Поддержка: Насколько быстро разработчик реагирует на вопросы и исправления ошибок?
  • Стоимость: Соответствует ли цена функциональности и удобству использования?

Вооружитесь и побеждайте!

Инструменты для администрирования PostgreSQL – это незаменимые помощники для любого администратора базы данных. Выберите подходящий инструмент, изучите его возможности и используйте на полную катушку.

Показать все

Как проходит обучение на платформе ФОРС

[ 01 ]

Знакомство с платформой

Платформа учебного центра ФОРС предназначена для удобного и комфортного обучения. Доступ к материалам будет открыт сразу после приобретения курса, а также навсегда доступен в личном кабинете.

[ 02 ]

Обучение

Каждый раздел содержит уроки с теоретическими материалами в видео и текстовых форматах, а так же демонстрацию практических примеров от преподавателей. Самостоятельная работа поможет закрепить полученные знания.

[ 03 ]

Обратная связь и поддержка

Мы поддерживаем онлайн-ресурс, где слушатели всегда могут задать вопрос преподавателю или коллективно обсудить возможные проблемы с другими студентами. Вы всегда сможете получить необходимую информацию в личном кабинете.

[ 04 ]

Дипломы и сертификаты

Все документы об окончании курсов собраны в одном месте в электронном формате — вы всегда можете посмотретьи скачать их в личном кабинете.

Остались вопросы?

Оставьте свои контактные данные — мы с вами свяжемся и все расскажем

Нажимая на кнопку «Отправить», я принимаю условия Политики конфиденциальности, и даю согласие на обработку персональных данных

WhatsApp
Telegram