Узкие места PostgreSQL #2
В прошлом году я сделал доклад про неожиданные узкие места PostgreSQL, которые могут застать пользователя (или администратора) врасплох. Обратная связь была очень положительной, а за год накопился новый материал. Поэтому я решил сделать продолжение сериала и разобрать новые ситуации, когда база неожиданно для всех встаёт колом. В этот раз упор будет на машины с большим числом ядер, но не только.
Слайды
Видео
Другие доклады
-
Андрей Зубков ООО "Пармалогика" Администратор баз данных
Простой инструмент исторического анализа производительности - pg_profile
В поиске проблем производительности администраторам баз данных необходим инструмент исторического анализа нагрузки. Особенно важен подобный инструмент в случаях, когда было зафиксировано время нехарактерного снижения производительности системы, и вам надо выяснить что больше всего нагружало вашу СУБД в это время. Это и поиск ресурсозатратных запросов, и поиск активных и растущих объектов в схеме данных, статистики использования пользовательских функций и использования temp. Существует несколько инструментов, так или иначе решающих эту задачу. Я расскажу об одном таком инструменте, который легко устанавливается в виде расширения к СУБД Postgres, легко настриавается и позволяет получить отчет о нагрузке за некоторый период в прошлом, который будет неплохой начальной точкой дальнейшего расследования.
-
Кирилл Боровиков ООО "Компания "Тензор" Технический директор
План + запрос = ?.. Когда анализ запроса в радость
- Странные вещи при анализе планов, и почему они происходят - сказка о потеряном времени и "лишние" buffers.
- Структурные подсказки в плане. Как помочь разработчику с оптимизацией, не написав ни строчки кода.
- Как соотнести узлы плана с текстом запроса и что из этого можно извлечь.
-
Антон Нечеухин Miro Technical QA lead
Инструмент как код: тестируем Postgres
На мастер-классе научимся проводить быстрые нагрузочные тесты баз данных Postgres: оптимизаций конфигов базы, структуры данных, индексов, настроек ОС и т. д. Для этого создадим код, из него поднимем инфраструктуру для теста и проведём сам тест. В результате получим гибкий инструмент в коде, к которому можно прикрутить любой мониторинг и за который не надо платить большие деньги, т.к стенд создаётся за 7 минут в пустой AWS учётке и убивается после проведения тестов. Для этого мастер-класса есть важная подготовка, которую нужно сделать заранее, чтобы в полной мере попробовать все, что спикер хочет предложить. Один шаг не быстрый - нужно сделать триальную учетную запись в AWS. Для этого требуется подтверждение регистрации от Amazon, которое они делают в течении 24 часов (если вы ранее работали в AWS, и у вас есть учетка - это хорошо, если нет - нужно пройти этот путь) Также, лучше заранее поставить последние версии ansible и terraform.
-
Александр Спирин Лига Цифровой Экономики DBAКирилл Калистратов InCountry Senior Performance Engineer
PostgreSQL Citus vs MongoDB sharded
Мы хотим поделиться структурой и результатами теста (производительности и не только), в котором участвовали PostgreSQL/Citus и MongoDB для данных нашей компании. Это был весьма увлекательный процесс с неожиданными поворотами и неоднозначным результатом.