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 (на стенде компании)

Оценка «Хорошо»: вы показываете конкретный запрос в котором наиболее ярко проявляется проблема

Оценка «Отлично»: вы находите причину проблемы