• /
  • /

Активности фоновых процессов (Activity)

Материалы к уроку

Попасть на страницу «Activity» можно, находясь внутри экземпляра, слева в выпадающем меню.
В PostgreSQL фоновые процессы выполняют различные активности для обеспечения надлежащей работы базы данных.
На странице «Activity» есть 2 вкладки: процессы пользователей и процессы системы. Для каждой группы рассчитываются агрегированные значения в абсолютных и относительных величинах. Информация в «Activity» собирается по принципу on-demand и обновляется каждые пять секунд.
В процессах пользователей представлен список баз данных, по которым бегут эти процессы.
Вверху страницы расположены окна с информацией о сессиях:
  • общее количество сессий и сколько из них использовано
  • количество использованных сессий в процентах
  • количество зарезервированных сессий для суперпользователей
С помощью кнопки-переключателя в правом верхнем углу, можно показать дополнительную информацию в таблице с базами данных.
В развернутом виде в таблице представлено количество процессов на каждую базу данных, которые распределены по типам:

  1. База данных.
  2. Использованные процессы.
  3. Процент использованных процессов от общего количества.
  4. Максимальное количество сессий на экземпляр.
  5. Количество активных сессий.
  6. Количество сессий в режиме ожидания.
  7. Сессии в режиме ожидания внутри транзакции.
  8. Прерванные сессии внутри транзакции.
  9. Бэкенды, выполняющие функцию быстрого пути (Fastpath).
  10. Состояние при отключенном параметре track_activities.
  11. Бэкенды с отсутствием привилегий для выполнения транзакции.
  12. Бэкенды в ожидании снятия блокировки.
Для того, чтобы посмотреть на сессию более подробно, достаточно кликнуть на нее.
Таблица с сессиями в базе данных «test_db», содержит информацию:
1. Номер процесса.
2. Пользователь.
3. % CPU.
4. % Оперативной памяти.
5. Чтение (бит/с).
6. Запись (бит/с).
7. Ожидание диска I/O.
8. Общее ожидание.
9. Статус сессии.
10. Продолжительность.
11. Запрос.

Для управления сессиями:
  • Кнопка «Terminate» позволяет прервать сессию.
  • Кнопка «Freeze» в правом верхнем углу приостанавливает обновление данных в таблице.
Фильтр по состоянию позволяет отображать сессии по следующим категориям:
  • «Active» — активные сессии.
  • «Disabled» — отключенные сессии.
  • «Fastpath» — быстрые блокировки.
  • «Idle» — сессии в ожидании.
  • «Idle in transaction» — сессии в транзакции в ожидании (это плохо).
  • Фильтр I/O Wait: «Да» или «Нет».
При нажатии на сессию можно просмотреть детализацию на отдельной странице.
Слева продублирована информация с предыдущей страницы из таблицы, справа представлен запрос целиком.

На вкладке «Waiting» представлены сессии, которые находятся в состоянии ожидания.
На вкладке «Blocking» отображаются все текущие пользовательские сессии, у которых есть блокировки.
Кроме этого, есть возможность просмотра блокировок в режиме дерева. Для этого нужно кликнуть на блокирующую сессию и провалиться в нее. Это позволяет понять, какая транзакция (процесс) блокирует другие транзакции (процессы).
Вернитесь на страницу «Activity» и перейдите во вторую вкладку — «System».
Здесь представлена похожая таблица, только без базы данных. Внутри представлена такая же таблица, как в «Users», только с системными активностями.