PostgresPro на Highload++ Весна
Необходимое окружение:
Linux,
PostgreSQL версии 9.6 и выше.
Задача
Вам предстоит расследовать инцидент, связанный с пятикратной деградацией производительности на одном простом примере.
Имеется тестовая база данных с незначительно модифицированной структурой стандартной утилиты pgbench.
На этой базе данных был установлен модуль pg_profile и были собраны снимки нагрузки. Наблюдения pg_profile доступны по ссылке(ссылка на архив). Для их установки руководствуйтесь разделом документации https://github.com/zubkov-andrei/pg_profile/blob/master/doc/pg_profile.md#data-import
Перед импортом в расширении pg_profile удалите сервер local:
select drop_server('local');
иначе будет конфликт имен при импорте.
Период нормальной работы СУБД расположен между снимками pg_profile 1 и 2.
Инцидент, который привел к деградации производительности произошел между снимками 2 и 3.
Наконец, период, когда была зафиксирована деградация производительности находится между снимками 3 и 4.
Для удобства оценки метрик, транзакционная нагрузка интервалов 1-2 и 3-
4 практически совпадают.
Задача состоит в том чтобы по данным наблюдений pg_profile определить вероятную причину деградации производительности.
Ожидаемый результат:
Оценка «Неплохо»: вы находите признаки проблемы и показываете их на экране своего ноутбука сотрудникам Postgres Pro (на стенде компании)
Оценка «Хорошо»: вы показываете конкретный запрос в котором наиболее ярко проявляется проблема
Оценка «Отлично»: вы находите причину проблемы