Мониторинг Postgres по USE и RED
Есть две методологии перформанс мониторинга: USE (Utilization, Saturation, Errors) Брендана Грегга и RED (Requests, Errors, Durations) от Тома Уилки. В докладе я хочу рассказать о том, как мы на них ориентировались и продолжаем ориентироваться, когда реализуем мониторинг Postgres в okmeter.io.
Слайды
Видео
Другие доклады
-
ААнна Акентьева Postgres Professional младший разработчик
Autovacuum: что можно узнать, если прочитать код, а не документацию
В докладе будут рассмотрены детали реализации автовакуума и практические выводы, следующие из них. Будет также дан краткий обзор патчей для автовакуума, которые рассматриваются сообществом разработчиков на данный момент и возможно будут включены в следующие версии PostgreSQL.
-
Александр Кузьменков Postgres Professional Программист
Новые планы выполнения запросов в PostgreSQL 11 и будущих версиях
Одна из важных задач СУБД -- по декларативному SQL-запросу построить эффективный план его выполнения, используя разные алгоритмы сканирования и объединения таблиц. Над улучшением планирования запросов идёт непрерывная работа. Какие методы применяет PostgreSQL, чтобы получить эффективный план, что нового в этой области в версии 11, и что сейчас находится в разработке? Например, при планировании запроса можно удалять ненужные соединения, или сводить внешние и полусоединения к внутренним. Есть патчи, позволяющие выполнять merge join по пересечению интервалов, или улучшающие оценку селективности соединения с помощью многоколоночной статистики. Если говорить о сканировании отдельных таблиц, покрывающие индексы позволяют чаще использовать index-only scan. Инкрементальная сортировка и более точная оценка стоимости сортировки улучшают планы, где нужен сортированный вывод, например, для GROUP BY и ORDER BY или merge join. Мы обсудим эти и другие подобные оптимизации, которые уже реализованы или находятся в разработке.
-
Александр Коротков Postgres Professional Руководитель разработки
Узкие места PostgreSQL
Хорошо, когда база работает предсказуемо. Если сервер не справляется с нагрузкой, то только знай добавляй процессорные ядра, терабайты оперативной памяти и миллионы IOPS'ов – всё станет хорошо. Гораздо неприятнее, когда у сервера куча свободных ресурсов, но база данных всё равно тормозит. И особенно обидно, когда при нагрузочном тестировании всё работало как часы, а при реальной нагрузке такого же объёма – встаёт колом.
В данном докладе я разберу "узкие места" постгреса, которые нам приходилось встречать в реальной жизни, и которые приводили к печальному поведению, как описано выше. Расскажу о том, что можно сделать на пользовательском уровне, что эти "узкие места" обойти, и о том, что планируют сделать разработчики, чтобы их вообще убрать. А также поделюсь некоторыми рецептами нагрузочного тестирования, которые помогут избежать неожиданностей в продакшене.
-
ММарат Сурмашев Health Samurai ПрограммистНиколай Рыжиков Health Samurai CTO
Эксплуатация JSONB
JSONB в PostgreSQL обладает рядом интересных свойств, которые могут пригодиться при проектировании и разработке бизнес-систем с тяжелой предметной областью, помогая бороться со сложностью и вариабельностью. На мастер-классе мы обсудим преимущества и недостатки использования JSONB. На примере открытой медицинской базы данных - fhirbase - мы с вами:
- загрузим синтетические медицинские данные в PostgreSQL
- научимся искать и индексировать эти данные (gin, jsquery, json-knife)
- посмотрим, как использовать JSON агрегацию для постороения сложных запросов (GraphQL)
- покажем, как эти данные можно модифицировать и валидировать
- поговорим об архитектурных последствиях использования JSONB
Технические требования:
- docker
- docker-compose