Работа с ресурсными группами

Страница Monitoring → Resource groups в веб-интерфейсе ADB Control предназначена для вывода ресурсных групп, которые созданы в кластерах ADB, подключенных для мониторинга. Страница состоит из двух вкладок: Statistic и Configuration, которые подробно описаны ниже.

Метрики по ресурсным группам собираются с подключенных кластеров каждую минуту и сохраняются в Metrics DB. Для этого используется задача Save resource group statistic job.

Вкладка Statistic

На вкладке Monitoring → Resource groups → Statistic выводится статистика использования ресурсных групп для выбранного кластера ADB. В поле Last updated выводится дата и время последнего обновления данных на странице в формате DD/MM/YYYY HH:mm:ss.

Чтобы выбрать кластер ADB, для которого требуется вывести данные в таблице, используйте фильтр Cluster над таблицей со списком ресурсных групп. По умолчанию выбран кластер, отмеченный как дефолтный в настройках ADB Control.

Вкладка Monitoring → Resource groups → Statistic
Вкладка Monitoring → Resource groups → Statistic
Вкладка Monitoring → Resource groups → Statistic
Вкладка Monitoring → Resource groups → Statistic

Таблица, изображенная на рисунке выше, выводит следующую информацию о ресурсных группах.

Поля вкладки Monitoring → Resource groups → Statistic
Поле Описание

Group ID

Уникальный идентификатор ресурсной группы

Resource group

Название ресурсной группы

Running

Количество транзакций, которые выполняются в текущий момент в рамках текущей ресурсной группы

Queueing

Количество транзакций, которые в текущий момент находятся в очереди на выполнение в рамках текущей ресурсной группы

Queued

Общее количество транзакций, находившихся в очереди на выполнение в рамках текущей ресурсной группы за все время наблюдений

Executed

Общее количество транзакций, выполненных в рамках текущей ресурсной группы за все время наблюдений

Total queued duration

Общее время пребывания транзакций в очереди в рамках текущей ресурсной группы за все время наблюдений (в часах, минутах, секундах)

Вкладка Configuration

Список ресурсных групп

На вкладке Monitoring → Resource groups → Configuration выводятся текущие конфигурации ресурсных групп для выбранного кластера ADB.

Чтобы выбрать кластер ADB, для которого требуется вывести данные в таблице, используйте фильтр Cluster над таблицей со списком ресурсных групп. По умолчанию выбран кластер, отмеченный как дефолтный в настройках ADB Control.

Параметры конфигурации ресурсных групп различаются в ADB 6 и ADB 7. Поэтому набор столбцов на этой вкладке зависит от версии выбранного кластера ADB.

  • ADB 6

  • ADB 7

Вкладка Configuration, если выбран кластер ADB 6
Вкладка Configuration, если выбран кластер ADB 6
Вкладка Configuration, если выбран кластер ADB 6
Вкладка Configuration, если выбран кластер ADB 6
Вкладка Configuration, если выбран кластер ADB 7
Вкладка Configuration, если выбран кластер ADB 7
Вкладка Configuration, если выбран кластер ADB 7
Вкладка Configuration, если выбран кластер ADB 7

В таблице ниже описаны параметры, доступные на этой вкладке. Для каждого параметра указано, доступен ли он в ADB 6 и ADB 7, а также его название в представлении gp_toolkit.gp_resgroup_config.

Поля вкладки Monitoring → Resource groups → Configuration
Поле Описание ADB 6 ADB 7

Group ID

Уникальный идентификатор ресурсной группы

groupid

Resource group

Название ресурсной группы

groupname

Concurrency

Максимальное количество одновременных транзакций, разрешенное в ресурсной группе. При превышении значения запросы будут поставлены в очередь

concurrency

CPU ratio limit

Процентная доля от зарезервированных ресурсов CPU всего кластера (указанного в параметре gp_resource_group_cpu_limit), доступная ресурсной группе. Сумма параметров по всем ресурсным группам не должна превышать 100. Параметр несовместим с CPU set — заполните только один из двух параметров

cpu_rate_limit

N/A

CPU Max percent

Максимальный процент ресурсов CPU хоста, доступный группе. Параметр несовместим с CPU set

N/A

cpu_max_percent

CPU set

Ядра CPU, зарезервированные для ресурсной группы. Запросы ресурсной группы будут утилизировать только указанные ядра. Если ресурсная группа не использует ядра, они будут простаивать

cpuset

Параметр несовместим с CPU ratio limit — заполните только один из двух параметров. Значение -1 означает, что используется CPU ratio limit

cpuset

Параметр несовместим с CPU Max percent — заполните только один из двух параметров. Значение -1 означает, что используется CPU Max percent

CPU Weight

Приоритет доступа группы к ресурсам CPU при использовании CPU Max percent

N/A

cpu_weight

Memory limit

Ограничение на использование RAM, определенное для группы

memory_limit

Относительное значение: процент от зарезервированного объема RAM всего кластера (указанного в параметре gp_resource_group_memory_limit). Сумма по всем ресурсным группам не должна превышать 100

memory_limit

Абсолютное значение в мегабайтах

Memory shared quota

Процентная доля от зарезервированного объема RAM ресурсной группы для совместного использования между всеми транзакциями, запущенными в ресурсной группе. Объем памяти, равный (100-<Memory shared quota>)/<Concurrency> будет гарантированно доступен каждой транзакции в ресурсной группе

memory_shared_quota

N/A

Memory spilled ratio

Порог использования оперативной памяти для транзакций с интенсивным потреблением RAM. Для транзакций, превышающих указанный порог, создаются spill-файлы

memory_spill_ratio

N/A

Auditor

Аудитор памяти, используемый для ресурсной группы. По умолчанию используется vmtracker

memory_auditor

N/A

Min cost

Минимальная оценочная стоимость запроса, ниже которой запрос считается легковесным. Запросы со стоимостью ниже этого значения выполняются сразу без проверки лимитов группы

N/A

min_cost

IO limits

Максимальная пропускная способность дискового ввода-вывода, доступная запросам ресурсной группы. Столбец показывает следующую информацию:

  • tablespace — OID табличного пространства

  • rbps — ограничение скорости чтения в МБ/с

  • wbps — ограничение скорости записи в МБ/с

  • riops — ограничение количества операций чтения в секунду

  • wiops — ограничение количества операций записи в секунду

Если для ресурсной группы ограничения не настроены, в столбце отображается -1

N/A

io_limit

ПРИМЕЧАНИЕ
  • Настройка ограничений IO limits и мониторинг дискового ввода-вывода доступны в ADB Control начиная с версии 4.18.1 и поддерживаются для кластеров ADB 7. Данные функции доступны только при использовании механизма cgroup v2 — в ADB 7 он используется по умолчанию.

  • Подробную информацию о параметрах ресурсных групп можно получить в документации Greengage DB.

Редактирование конфигурации ресурсной группы

Для редактирования настроек ресурсной группы выполните следующие шаги:

  1. В кластере ADB, для которого планируется изменять настройки ресурсной группы, назначьте права супер-пользователя роли, которая используется для JDBC-подключения ADB Control к этому кластеру. Пользователь указывается в настройках кластера на странице Configuration → Clusters (по умолчанию adcc). Для назначения прав можно выполнить следующий запрос:

    ALTER ROLE adcc SUPERUSER;

    Если пропустить первый шаг, на шаге 4 возникнет следующая ошибка.

    Ошибка в случае отсутствия прав у пользователя
    Ошибка в случае отсутствия прав у пользователя
    Ошибка в случае отсутствия прав у пользователя
    Ошибка в случае отсутствия прав у пользователя
  2. Нажмите на иконку edit dark edit light в столбце Action на вкладке Monitoring → Resource groups → Configuration.

    Переход к редактированию
    Переход к редактированию
    Переход к редактированию
    Переход к редактированию
  3. В открывшемся окне отредактируйте необходимые данные. Описания всех полей приведены в таблице выше. Имя аудитора памяти в поле Memory auditor не редактируется.

    Редактирование настроек ресурсной группы в ADB 6
    Редактирование настроек ресурсной группы в ADB 6
    Редактирование настроек ресурсной группы в ADB 6
    Редактирование настроек ресурсной группы в ADB 6

    Если выбран кластер ADB версии 7, набор параметров ресурсной группы отличается (см. выше). Кроме того, в ADB 7 можно задать ограничения для скорости дискового ввода-вывода и количества операций чтения и записи. В поле Tablespace укажите имя или OID табличного пространства, к которому нужно применить ограничения, или введите *, чтобы применить их ко всем табличным пространствам. Если ограничение не указано, по умолчанию используется значение max, означающее, что ограничения нет.

    Редактирование настроек ресурсной группы в ADB 7
    Редактирование настроек ресурсной группы в ADB 7
    Редактирование настроек ресурсной группы в ADB 7
    Редактирование настроек ресурсной группы в ADB 7
  4. Нажмите кнопку Apply. В результате информация о ресурсной группе обновляется на вкладке Monitoring → Resource groups → Configuration.

    Информация о ресурсной группе обновлена
    Информация о ресурсной группе обновлена
    Информация о ресурсной группе обновлена
    Информация о ресурсной группе обновлена
ВАЖНО
  • Доступ к редактированию ресурсных групп есть только у пользователей ADB Control с соответствующими разрешениями (см. Change resource group configuration в статье Авторизация).

  • Изменение настроек ресурсной группы фиксируется в рамках аудита операций под именем Update (тип объекта Resource group). Просмотр событий аудита доступен на странице Audit → Operations.

Детали ресурсной группы

Чтобы просмотреть детальную информацию о ресурсной группе, нажмите на ее идентификатор (Group ID) в таблице на вкладке Monitoring → Resource groups → Statistic либо Monitoring → Resource groups → Configuration.

Выбор ресурсной группы
Выбор ресурсной группы
Выбор ресурсной группы
Выбор ресурсной группы

Следующая страница содержит несколько секций, описанных ниже.

В верхней части страницы выводится название группы и ее идентификатор.

Заголовок страницы с деталями ресурсной группы
Заголовок страницы с деталями ресурсной группы
Заголовок страницы с деталями ресурсной группы
Заголовок страницы с деталями ресурсной группы

Overview

Секция Overview показывает базовую информацию о ресурсной группе. Описание всех полей приведено выше.

Секция Overview
Секция Overview
Секция Overview
Секция Overview

Commands → Running

В секции Commands → Running выводится информация о командах, созданных под управлением ресурсной группы и имеющих следующие статусы на текущий момент времени:

  • Queued — команды, по которым еще не пришла информация о фактическом начале выполнения.

  • Running — команды, выполняющиеся в текущий момент времени.

  • Waiting — команды, чья транзакция находится в ожидании (в ADB 7).

  • Cancelling — команды, для которых осуществляется отмена (в рамках отмены либо прерывания соответствующей транзакции).

Поля секции Commands → Running
Поле Описание

Command ID

Уникальный идентификатор команды, включающий:

  • временную метку старта кластера;

  • номер сессии;

  • номер команды в рамках сессии;

  • хеш-код от имени кластера (может быть отрицательным).

При нажатии на идентификатор можно перейти на страницу с детальной информацией о команде

SQL ID

Идентификатор, являющийся общим для SQL-команд с одинаковой структурой

Command text

Первые символы текста команды. Для вывода текста полностью (в случае длинных запросов) наведите курсор мыши на ячейку таблицы со значением

Status

Статус команды. Возможные значения см. выше

Planner

Название оптимизатора запросов, используемого для построения плана выполнения команды. Возможные значения:

  • GPORCA — план запроса построен с использованием оптимизатора GPORCA (optimizer = on).

  • Fallbacked — после неудачной попытки построения плана с помощью GPORCA (optimizer = on) использован оптимизатор Postgres.

  • Legacy — план запроса построен с помощью Postgres query optimizer (optimizer = off).

Submitted

Дата и время отправки команды пользователем в формате DD/MM/YYYY HH:mm:ss

Секция Commands → Running
Секция Commands → Running
Секция Commands → Running
Секция Commands → Running

В заголовках столбцов таблицы со списком команд расположены фильтры, которые можно использовать для отбора необходимых данных. Для открытия фильтра необходимо нажать на иконку openside dark openside light. Для тех столбцов, где набор возможных значений ограничен (например, Status), в фильтре можно выбрать значение из выпадающего списка. Для некоторых столбцов (например, Command ID) требуется ввести искомое значение.

Иконка filtered dark filtered light означает, что для столбца определен фильтр. Для сброса всех фильтров нажмите Reset.

Commands → Queueing

В секции Commands → Queueing выводится информация о командах, ожидающих постановки в очередь на выполнение в рамках текущей ресурсной группы (перевода в статус Queued) по причине превышения ограничений, установленных для ресурсной группы.

Таблица, расположенная в секции Commands → Queueing, выводит следующую информацию о командах.

Поля секции Commands → Queueing
Поле Описание

Database

Название базы данных

Session ID

Идентификатор сессии (см. Session ID на вкладке Monitoring → Sessions)

Process ID

Идентификатор процесса

Username

Имя пользователя, запустившего команду

Command text

Текст команды

Queueing duration

Время ожидания командой места в очереди на выполнение в часах, минутах и секундах. Поле доступно только для кластеров ADB 6

Tags

Теги команды

Секция Commands → Queueing
Секция Commands → Queueing
Секция Commands → Queueing
Секция Commands → Queueing

В заголовках таблицы со списком команд находятся фильтры, которые можно использовать для поиска данных. Для применения фильтра нажмите на иконку openside dark openside light в заголовке столбца и введите искомое значение. Иконка filtered dark filtered light означает, что для столбца определен фильтр. Для сброса всех фильтров нажмите Reset.

Usage

Секция Usage показывает статистику потребления системных ресурсов выбранной ресурсной группой. Секция содержит две вкладки:

ПРИМЕЧАНИЕ

Hosts & Segments usage

Вкладка Hosts & Segments usage состоит из двух секций (Hosts usage и Segments usage), которые отображают информацию по потреблению памяти и CPU.

Так же, как и во вкладке Configuration, информация в данной вкладке учитывает разницу в управлении ресурсными группами между ADB 6 и ADB 7. Набор столбцов на этой вкладке зависит от версии выбранного кластера ADB.

  • ADB 6

  • ADB 7

Поля вкладки Hosts & Segments usage в ADB 6
Поле Описание

Hostname

Название хоста

Segment

Идентификатор сегмента

CPU

Использование CPU на уровне хоста и на уровне сегмента

Memory quota

Фиксированная память (используемая и доступная) на уровне хоста и сегмента. Используемая часть — это квота памяти, зарезервированная для всех выполняющихся в данный момент запросов ресурсной группы. Доступная часть — это предоставленная квота (рассчитывается на основе Memory limit и Memory shared quota) минус используемая часть

Memory shared

Доступная и используемая разделяемая память на уровне хоста и на уровне сегмента

Memory

Потребление памяти на уровне хоста и на уровне сегмента

Вкладка Hosts & Segments usage в ADB 6
Вкладка Hosts & Segments usage в ADB 6
Вкладка Hosts & Segments usage в ADB 6
Вкладка Hosts & Segments usage в ADB 6
Поля вкладки Hosts & Segments usage в ADB 7
Поле Описание

Hostname

Название хоста

CPU usage

Среднее использование CPU по экземплярам сегментов на хосте

Memory usage

Среднее использование памяти по экземплярам сегментов на хосте

Segment

Идентификатор сегмента

Virtual memory usage

Использование виртуальной памяти на экземпляре сегмента

Вкладка Hosts & Segments usage в ADB 7
Вкладка Hosts & Segments usage в ADB 7
Вкладка Hosts & Segments usage в ADB 7
Вкладка Hosts & Segments usage в ADB 7

IO usage

Вкладка IO usage доступна только для кластеров ADB 7. Для каждого хоста и табличного пространства на вкладке отображается информация о скорости записи на диск и чтения с диска, а также количество операций записи на диск и чтения с диска в секунду. Данные метрики основаны на представлении gp_toolkit.gp_resgroup_iostats_per_host.

Вкладка Usage → IO usage
Вкладка Usage → IO usage
Вкладка Usage → IO usage
Вкладка Usage → IO usage
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней